Dubbio query SQL aiuto?

ho una tabella User formata in questo modo:

id INT primary key AUTO_INCREMENT,

id_parent INT (foreign key ad ID)

String VARCHAR(..)

L'utente mi inserisce un id_parent (ad esempio l'ID di chi lo ha invitato al sito) e la stringa, e ovviamente il suo ID è calcolato dall'auto increment.

Quindi faccio INSERT INTO User(id_parent,stringa) VALUES(xx,yy)

ma come faccio a recuperare il suo ID che è stato inserito auto_incrementandosi?

Stavo pensando o a fare una sessione (in PHP), ma come? Che altri consigli potete darmi? Grazie

Aggiornamento:

P.S. il "sito" è multiuser, dunque sono da evitare query multiple che essendo concorrenti potrebbero dare a risultati insesatti

2 risposte

Classificazione
  • Anonimo
    3 sett fa
    Migliore risposta

    Esiste una funzione che fa esattamente quello che ti serve.

    Per MySQL è LAST_INSERT_ID(), per SQLServer è SCOPE_IDENTITY()

    Fatti restituire il valore dalla query

  • $parent=mysqli_real_escape_string($con,$_POST['Parent_id']);

    $sql = mysqli_query($con,"SELECT `id` FROM `nome_tabella` WHERE `id_parent`='$parent'");

    $result = mysqli_query($con,$sql) or die("errore");

    $id = mysqli_fetch_row($result);

Altre domande? Fai una domanda e ottieni le risposte che cerchi.