Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 12
  1. #1
    Utente di HTML.it
    Registrato dal
    Jul 2003
    Messaggi
    613

    mysql_insert_id(resource)

    Devo creare un record con id autoincrement e recuperare l'id di questo parametro per assegnarlo come nome ad una immagine.

    Il dubbio che mi viene è: se mentre io sto eseguendo l'operazione qualcun altro fa la stessa cosa prima che io recuperi l'id... che succede? Recupero il 'MIO' ultimo id inserito o il 'SUO'?

    Ehm.. sono stato chiaro?

  2. #2
    Utente di HTML.it L'avatar di VaLvOnAuTa
    Registrato dal
    Jun 2002
    Messaggi
    2,003
    Il manuale di php dà questo warning
    [supersaibal]Nota: Il valore della funzione SQL LAST_INSERT_ID() di MySQL contiene sempre il più recente valore AUTO_INCREMENT generato e non è azzerato dalle query.[/supersaibal]
    Onestamente non so di preciso cosa voglia dire.
    Suppongo che nel caso specificato, vada a prendere l'ultimo id inserito nella TUA sessione, perchè prende l'identificativo della tua connessione.

    Suppongo.

  3. #3
    Utente di HTML.it
    Registrato dal
    Jul 2003
    Messaggi
    613
    In tutti i sensi è la stessa SUPPOSTA che ho fatto io... Cercavo disperatamente conferma

  4. #4
    [supersaibal]Originariamente inviato da Leandro
    In tutti i sensi è la stessa SUPPOSTA che ho fatto io... Cercavo disperatamente conferma [/supersaibal]
    mysql_insert_id (client php) e' diverso da last_insert_id() funzione di mysql

    mysql_insert_id() ti prende l'ultimo id inserito da quella specifica connessione. Quindi e' sufficiente far seguire immediatamente la lettura dell'id alla INSERT e sei sicuro che l'id e' proprio il suo.


    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  5. #5
    Utente di HTML.it
    Registrato dal
    Jul 2003
    Messaggi
    613
    Grassie mille

  6. #6
    Utente di HTML.it
    Registrato dal
    Jul 2003
    Messaggi
    613

    selezione db

    Riprendo la discusisone perchè ho un'altra domanda.
    Se io non utilizzo la funzione mysql_select_db ma eseguo la query specificando il db a seconda dei casi... recupero comunque il valore dell'ultimo valore autoincrement inserito?

  7. #7

    Re: selezione db

    Originariamente inviato da Leandro
    Riprendo la discusisone perchè ho un'altra domanda.
    Se io non utilizzo la funzione mysql_select_db ma eseguo la query specificando il db a seconda dei casi... recupero comunque il valore dell'ultimo valore autoincrement inserito?
    Prova.

    mysql_insert_id recupera l'ultimo id autoincrement inserito in quella specifica connessione. puo' darsi funzioni ma non avrebbe senso. Mentre ci sei che fai l'insert recuperi l'id in una variabile, cambi il database e utilizzi l'id estratto.


    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  8. #8
    Utente di HTML.it
    Registrato dal
    Jul 2003
    Messaggi
    613
    Ero sicuro che mi avresti risposto tu
    Mi potresti spiegare la differenza tra mysql_insert_id() (php) e last_insert_id() (mysql)?!

    Grazie intanto

  9. #9

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  10. #10
    Utente di HTML.it
    Registrato dal
    Jul 2003
    Messaggi
    613
    Ho capito!!!!
    L'avevo già letta e l'ho riletta una ventina di volte anche ora... so un pò duro a capì.

    Chiedo un'ultima cosa poi scompaio (almeno per altri 10 minuti prometto )

    Mentre ci sei che fai l'insert recuperi l'id in una variabile, cambi il database e utilizzi l'id estratto.
    Cioè faccio l'insert quindi:

    SELECT LAST_INSERT_ID() FROM db1.tabella1

    quello scritto in rosso ha senso? serve?

    @piero.mac in quel del maceratese c'è sempre una birra che ti aspetta

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.