Hallo,
warum erhöht sich die Zahl des insert_id obwohl kein commit zustande kommt und in der Datenbank Tabelle nicht eingetragen wird??
Beispiel, Zwei sql (inserts) queries und wenn beide erfolgreich sind wird der commit() ausgeführt.
Wenn aber das Zweite nicht erfolgreich war, dann der rollback().
$mysql->insert_id; von der Erste query entnommen.
Ich dachte insert_id bezieht sich auf das letzte eingetragen ID, was auch in der Datenbank tatsächlich steht.
MFG c01001.
warum erhöht sich die Zahl des insert_id obwohl kein commit zustande kommt und in der Datenbank Tabelle nicht eingetragen wird??
Beispiel, Zwei sql (inserts) queries und wenn beide erfolgreich sind wird der commit() ausgeführt.
Wenn aber das Zweite nicht erfolgreich war, dann der rollback().
$mysql->insert_id; von der Erste query entnommen.
PHP-Code:
$mysql->begin_transaction();
$sql1 = "insert ....";
$x1 = $mysql->query($sql1);
$last_id = $msql->insert_id;
echo $last_id;
$sql2 = "insert .... (...,'$last_id');";
$x2 = $mysql->query($sql1);
If ($x1&&$x2){
$mysql->commit();
} else {
throw new Exception ($mysql->error);
}
.....
MFG c01001.
Kommentar