Heim > Datenbank > MySQL-Tutorial > Hauptteil

Können Sie mehrere Abfragen in einer einzigen MySQLi-Anweisung ausführen?

Linda Hamilton
Freigeben: 2024-10-29 03:57:29
Original
170 Leute haben es durchsucht

Can You Execute Multiple Queries in a Single mysqli Statement?

Mehrere Abfragen in einer einzelnen MySQLi-Anweisung

Können Sie eine einzelne MySQLi-Anweisung vorbereiten, die mehrere Abfragen ausführt?

Frage:

Ist es möglich, eine einzelne MySQLi-Anweisung zu erstellen, die mehrere Abfragen ausführt? Zum Beispiel:

<code class="php">mysqli->prepare("query1 ...1,2,3 param...; query2...4,5 param...");
or 
mysqli->prepare("insert into ...1,2,3 param...; insert into...4,5 param...");</code>
Nach dem Login kopieren

Der Versuch einer solchen Konstruktion führt zu dem Fehler „Aufruf einer Mitgliedsfunktion bind_param() für ein Nicht-Objekt in...“

<code class="php">$stmt = $sql->getQueryPrepare("INSERT INTO user (id_user, username, pw, email) VALUES (?,?,?,?); INSERT INTO process (id_user, idp) VALUES (?,?);");

$stmt->bind_param("ssssss",$id, $username, $pw, $email, $id, $idp);

$stmt->execute();
$stmt->close(); </code>
Nach dem Login kopieren

Antwort:

Eine vorbereitete Anweisung kann nur eine einzige MySQL-Abfrage ausführen. Sie können jedoch mehrere Anweisungen in separaten Variablen vorbereiten:

<code class="php">$stmtUser = $sql->prepare("INSERT INTO user (id_user, username, pw, email) VALUES (?,?,?,?)");
$stmtProc = $sql->prepare("INSERT INTO process (id_user, idp) VALUES (?,?);");</code>
Nach dem Login kopieren

Diese Anweisungen können nachträglich ausgeführt werden. Wenn Sie sicherstellen müssen, dass beide Abfragen erfolgreich ausgeführt werden, sollten Sie die Verwendung von Transaktionen in Betracht ziehen.

Denken Sie daran, dass der Fehler „Aufruf einer Member-Funktion für ein Nicht-Objekt“ normalerweise auf einen Fehler in der Prepare()-Anweisung hinweist und nicht auf einen Fehler Probleme mit nachfolgendem Code.

Das obige ist der detaillierte Inhalt vonKönnen Sie mehrere Abfragen in einer einzigen MySQLi-Anweisung ausführen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!