Echo van mysli insert
Code (php)
1
2
3
4
2
3
4
<?php
if ($insert_stmt = $mysqli->prepare("INSERT INTO members (username, email, password, salt) VALUES (?, ?, ?, ?)")) {
$insert_stmt->bind_param('ssss', $username, $email, $password, $random_salt);
[/code]
if ($insert_stmt = $mysqli->prepare("INSERT INTO members (username, email, password, salt) VALUES (?, ?, ?, ?)")) {
$insert_stmt->bind_param('ssss', $username, $email, $password, $random_salt);
[/code]
Gewijzigd op 12/08/2015 17:04:41 door Kees Mulder
Heb je al ge-echo'ed?
Toevoeging op 12/08/2015 17:49:53:
Als ik het volgende doe geeft hij wel het id aan
Variabelen overschrijven is niet nuttig. Gewoon direct echo'en.
- Aar - op 12/08/2015 18:22:06:
Variabelen overschrijven is niet nuttig. Gewoon direct echo'en.
Maar hoe doe ik dat dan als ik meerdere tabellen heb en die id's wil invoeren...
Kees Mulder op 12/08/2015 17:42:49:
Dan krijg ik '0'
Toevoeging op 12/08/2015 17:49:53:
Als ik het volgende doe geeft hij wel het id aan
Maar doe ik het volgende dan geeft hij '0' aan
Toevoeging op 12/08/2015 17:49:53:
Als ik het volgende doe geeft hij wel het id aan
Code (php)
1
2
3
2
3
<?php
echo 'New record created successfully. Last inserted ID is: '.$mysqli->insert_id;
?>
echo 'New record created successfully. Last inserted ID is: '.$mysqli->insert_id;
?>
Maar doe ik het volgende dan geeft hij '0' aan
Als de eerste variant werkt werkt de tweede ook. Dat gaat dus ergens anders mis.
Gewijzigd op 12/08/2015 20:27:50 door Ben van Velzen
Het fragment is onvolledig of gewoon fout. Je voert de query namelijk nergens uit, ik zou dan dus eigenlijk helemaal geen waarden terug verwachten.
Als de query is uitgevoerd kun je het laatst toegevoegde ID ophalen met $mysqli->insert_id.
Tenzij je een query meerdere keren uitvoert zie ik eerlijk gezegd niet het nut van een prepare + execute.
Indien je een query maar 1x uitvoert via een prepare + execute doe je (bijna) het dubbele werk...
Daarnaast zijn prepared statement in MySQLi nogal ruk :).