Heim >Backend-Entwicklung >PHP-Tutorial >Warum kann ich in MySQL nicht zwei „mysqli_query()'-Aufrufe gleichzeitig ausführen?

Warum kann ich in MySQL nicht zwei „mysqli_query()'-Aufrufe gleichzeitig ausführen?

Patricia Arquette
Patricia ArquetteOriginal
2024-12-07 01:50:11607Durchsuche

Why Can't I Run Two `mysqli_query()` Calls Simultaneously in MySQL?

Warum können nicht zwei MySQLi-Abfragen gleichzeitig ausgeführt werden?

In MySQL erfordert die Ausführung mehrerer Abfragen in einem einzigen Aufruf die Verwendung von mysqli_multi_query (). Der Versuch, zwei Abfragen mit mysqli_query() auszuführen, führt dazu, dass die zweite Abfrage fehlschlägt.

Lösung: mysqli_multi_query()

Um dieses Problem zu beheben, verwenden Sie die richtige Methode ist mysqli_multi_query(). Als Eingabe wird eine durch Semikolons getrennte Folge von Abfragen benötigt.

Beispiel:

$mysqli = new mysqli($host, $user, $password, $database);

// Queries to be executed
$query = "INSERT INTO images (project_id, user_id, image_name, ...) VALUES (...);";
$query .= "INSERT INTO images_history (project_id, user_id, image_name, ...) VALUES (...);";

// Execute queries using mysqli_multi_query()
$result = mysqli_multi_query($mysqli, $query);

// Handle results
if ($result) {
    // Process results using mysqli_store_result() and mysqli_next_result()
} else {
    // Handle error (if any)
}

Hinweis:

  • mysqli_query() führt aus Sicherheitsgründen (SQL-Injections) nicht mehrere Abfragen aus Prävention).
  • mysqli_store_result() muss nach mysqli_multi_query() verwendet werden, um Ergebnismengen abzurufen.
  • mysqli_error() sollte überprüft werden, um sicherzustellen, dass INSERT-Abfragen erfolgreich waren ( obwohl sie keine Ergebnismengen haben).

Das obige ist der detaillierte Inhalt vonWarum kann ich in MySQL nicht zwei „mysqli_query()'-Aufrufe gleichzeitig ausführen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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