Visualizzazione dei risultati da 1 a 8 su 8
  1. #1

    Restituire id da INSERT

    Ciao a tutti.
    Domanda credo molto semplice.

    Io ho una query che inserisce dati in una tabella con un user_id auto increment. Ogni volta che inserisco dati ho bisogno che mi venga restituito l'id che viene inserito in automatico da mysql per inserirlo in un'altra tabella. So che c'è un modo semplice ma non lo ricordo e non lo trovo in vecchi script.

    Qualcuno mi può illuminare?

  2. #2
    Utente di HTML.it L'avatar di pgm
    Registrato dal
    Apr 2002
    Messaggi
    1,281
    ecco il modo semplice che cerchi

    mysql_insert_id



  3. #3
    e il parametro è solo la query?

    mysql_insert_id($query);

  4. #4
    Codice PHP:
    $ultimo_id_inserito=mysql_insert_id(); 
    aquatimer2000

  5. #5
    Ok, grazie mille.

  6. #6
    Sarebbe meglio se usassi la funzione SQL

    LAST_INSERT_ID()

    funziona in tal modo

    Dopo ke hai effettuato un inserimento in una tabella,

    $sql_prendi_id = "SELECT LAST_INSERT_ID() as ultimo_id FROM TUA_TABELLA";

    In tal modo nel result set dei dati nella colonna ultimo_id hai l'id che è stato generato nell'inserimento della tabella specificata.

    ho detto che è meglio usare questa funzione di SQL anziché mysql_insert_id() perché se il campo auto_increment è di tipo BIGINT allora mysql_insert_id() restituisce un valore non esatto.

  7. #7
    Se invece è un normale INT non da problemi?

  8. #8
    No, non dà problemi. Però se poi un domani dovesse accadere che gli int devi trasformali in BIGINT, dovresti poi cambiare i tuoi script php, invece come ti ho suggerito io no.
    Inoltre, la primitiva che ti ho suggerito di usare è propria di SQL, per cui penso ke sia sicuramente più affidabile e performante rispetto ad una funzione di PHP, che comunque è esterna rispetto a SQL.

    Ciao.

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.