2017-08-28 14 views
1

Guter Morgen, Ich würde gerne wissen, ob PHP vorbereiten Anweisung synchron oder asynchron, zum Beispiel:PHP-Anweisung synchron oder asynchron

$req1 = "UPDATE ..."; 
$statement1 = $connection->prepare($req1); 
$statement1->execute(); 

$req2 = "SELECT ..."; 
$statement2 = $connection->prepare($req2); 
$statement2->execute(); 

So das Ergebnis der zweiten Anforderung auf dem ersten abhängen, kann es Probleme oder falsche Ergebnisse verursachen, mit anderen Worten, es besteht die Möglichkeit, dass die zweite Anfrage vor der ersten ausgeführt wird.

Ich suchte nach Antworten, aber ich habe keine klare Antwort gefunden. Danke dir.

+0

Relationale Datenbanken haben Transaktionen, die Sie in Ihrem PHP-Code starten/commit/rollback können; aber Code wird synchron ausgeführt; die erste Anweisung Ausführung wird abgeschlossen, bevor die zweite vorbereitet und –

+0

Transaktionen ausgeführt wird, die Sie Daten-Integrität bieten würde – Gunnrryy

+0

Danke, jetzt sollte ich mir keine Sorgen darüber !! –

Antwort

4

Datenbankabfragen werden synchron ausgeführt. Aber nehmen Sie nicht mein Wort für sie, lesen Sie das Handbuch:

PDO:http://php.net/manual/en/pdostatement.execute.php

Da das Verfahren Ergebnis ist TRUE bei Erfolg oder FALSE bei einem Fehler können Sie ableiten, es synchron ist.

MySQLi:http://php.net/manual/en/mysqli-stmt.execute.php

Same here. Überprüfen Sie also die Dokumentation und wenn das execute() etwas zurückgibt, was mit dem Ergebnis zusammenhängt, wissen Sie, dass es synchron sein muss.

+0

Danke, jetzt bin ich sicher, dass PDO eine vorbereitete Anweisung (SQL) -Anforderung synchron standardmäßig ausführen, um asynchrone Operationen zu verwenden, sollten Sie MySQLi verwenden. –

+0

Ja, siehe: http://www.php.net/manual/en/mysqli.poll.php –

Verwandte Themen