„Befehle nicht synchron“, wenn ich nach einem Aufruf einer gespeicherten Prozedur, die Ergebnisse liefert, erneut mysqliPhp

PHP-Programmierer chatten hier
Anonymous
 „Befehle nicht synchron“, wenn ich nach einem Aufruf einer gespeicherten Prozedur, die Ergebnisse liefert, erneut mysqli

Post by Anonymous »

Ich habe eine gespeicherte Prozedur in meiner Datenbank, die alle Datensätze in einer Tabelle zurückgibt:

Code: Select all

CREATE PROCEDURE showAll()
BEGIN
SELECT * FROM myTable;
END
Der SP funktioniert wie erwartet. Aber wenn ich es in einem PHP-Skript aufrufe und dann versuche, die Datenbank erneut abzufragen, schlägt es immer fehl:

Code: Select all

// $mysqli is a db connection

// first query:

if (!$t = $mysqli->query("call showAll()"))
die('Error in the 1st query');

while ($r = $t->fetch_row()) {
echo $r[0] . "
"; // this is ok
}

$t->free(); // EDIT (this doesn't help anyway)

// second query (does the same thing):

if (!$t = $mysqli->query("SELECT * from myTable"))
die('Error in the 2nd query'); // I always get this error

while ($r = $t->fetch_row()) {
echo $r[0] . "
";
}
Bemerkenswert ist, dass es ohne Fehler funktioniert, wenn ich die beiden Abfragen vertausche (d. h. die gespeicherte Prozedur am Ende aufrufe). Das Ergebnis vor der zweiten Abfrage zu schließen (()) hilft nicht.
Einige Hinweise?

Code: Select all

mysqli::error()
ist:

«Befehle nicht synchron; Sie können diesen Befehl jetzt nicht ausführen».

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post