Heim >Backend-Entwicklung >PHP-Tutorial >Wie aktualisiere ich effizient mehrere MySQL-Datensätze mithilfe von PHP mit einem Array von IDs?

Wie aktualisiere ich effizient mehrere MySQL-Datensätze mithilfe von PHP mit einem Array von IDs?

Barbara Streisand
Barbara StreisandOriginal
2024-11-27 21:58:18217Durchsuche

How to Efficiently Update Multiple MySQL Records Using PHP with Array of IDs?

Durchlaufen eines Arrays von IDs für MySQL-Abfragen

Bei der Arbeit mit MySQL-Abfragen in PHP müssen Sie möglicherweise mehrere Werte aus einem integrieren Array in die Abfrage ein. Dieser Leitfaden zeigt, wie Sie dies effizient mit vorbereiteten Anweisungen und dynamischen SQL-Abfragen erreichen können.

Vorbereitete Anweisungen (empfohlen)

Vorbereitete Anweisungen bieten mehr Sicherheit und Effizienz. So verwenden Sie sie:

$ids = array(2, 4, 6, 8);

$sql = "UPDATE MyTable SET LastUpdated = GETDATE() WHERE id = ?";
$stmt = $mysqli->prepare($sql);

for ($i = 0; $i < count($ids); $i++) {
    $stmt->bind_param("i", $ids[$i]);
    $stmt->execute();
    echo "Updated record ID: $ids[$i]";
}

$stmt->close();

Dynamische SQL-Abfragen

Alternativ können Sie eine dynamische SQL-Abfrage dynamisch erstellen:

$ids = array(2, 4, 6, 8);

$params = implode(",", array_fill(0, count($ids), "?"));
$sql = "UPDATE MyTable SET LastUpdated = GETDATE() WHERE id IN ($params)";
$stmt = $mysqli->prepare($sql);

$types = str_repeat("i", count($ids));
$args = array_merge(array($types), $ids);
call_user_func_array(array($stmt, 'bind_param'), ref($args));

$stmt->execute();

echo "Updated record IDs: " . implode(",", $ids);

Vergleich und Verwendung Richtlinien

  • Vorbereitete Anweisungen:Iterative Ausführung mehrerer Datenbankoperationen. Besser geeignet für INSERT- und UPDATE-Abfragen.
  • Dynamisches SQL: Führt eine einzelne, effizientere Abfrage für alle Datensätze aus. Ideal für SELECT-, DELETE- und UPDATE-Vorgänge mit denselben Daten.

Vorteile vorbereiteter Anweisungen

  • Sicherheit: Verhindert SQL-Injection Angriffe.
  • Effizienz:Verwendet kompilierte Anweisungen für mehrere Ausführungen wieder.
  • Kompaktheit:Überträgt nur Parameterwerte während der Ausführung.

Das obige ist der detaillierte Inhalt vonWie aktualisiere ich effizient mehrere MySQL-Datensätze mithilfe von PHP mit einem Array von IDs?. 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