Ich habe diesen Code, versuchen, Transaktion zu verwenden.PHP Mysqli Transaktion funktioniert nicht
try
{
$mysqli->autocommit(FALSE); // Line (1)
$queries = $query_delete_atividades . $query_insert_atividades . "SET NAMES 'utf8';" . $query_anuncio;
if ($mysqli->multi_query($queries) === TRUE) {
$resultado = '[{ "resultado" : "ok"}]';
return $resultado;
} else {
return "";
}
$mysqli->autocommit(TRUE); // Line (2)
mysqli_commit($mysqli); // Line (3)
$query_error = mysqli_error($mysqli);
if (strlen($query_error) == 0)
{
$resultado = '[{ "resultado" : "ok"}]';
return $resultado;
}
}
catch (Exception $e)
{
mysqli_rollback($mysqli); // Line (4)
}
in der Variablen $ Abfragen Ich habe drei Arten von Abfragen:
- Ein Update
- A
- Einige Einsätze löschen
Wenn ich die Zeilen Kommentar (1), (2), (3) und (4) werden alle Abfragen korrekt ausgeführt (aktualisieren, löschen und einfügen).
Mit diesen Zeilen unkommentiert passiert nichts in der Datenbank.
Meine Abfragen sind korrekt und verifiziert.
Ist dieser Code korrekt? Was mache ich falsch ?
Danke.
Sie müssen rufen [ '$ mysqli-> begin_transaction()'] (http://php.net/manual/en/mysqli.begin-transaction .php) –
Nein, w ja. Das Problem besteht weiter. – Olivertech