Heim >Backend-Entwicklung >PHP-Tutorial >Wie übergebe ich ein Array von IDs an eine SQL-WHERE-Klausel?
Sie haben ein Array von Galerie-IDs, $galleries, und möchten eine SQL-Abfrage erstellen, die Zeilen auswählt aus einer Datenbanktabelle basierend auf den Werten im Array.
Um dies zu erreichen, müssen Sie die IN-Klausel in Ihrer WHERE-Bedingung verwenden. Mit dieser Klausel können Sie eine Liste von Werten angeben, die mit einem Feld verglichen werden sollen. So können Sie Ihre Abfrage ändern:
SELECT * FROM galleries WHERE id IN (1, 2, 5);
Durch Ersetzen von /*-Werten des Arrays $galleries... z. B. (1 || 2 || 5) */ Mit den tatsächlichen Werten aus Ihrem Array können Sie die IN-Klausel dynamisch generieren.
Es gibt mehrere Möglichkeiten, dies in PHP zu tun:
Methode 1: Verwendung von implode():
$ids = implode(',', $galleries); $sql = "SELECT * FROM galleries WHERE id IN ($ids);";
Methode 2: Verwendung des PDO-Parameters Bindung:
$stmt = $pdo->prepare("SELECT * FROM galleries WHERE id IN (:ids);"); $stmt->bindParam(':ids', implode(',', $galleries), PDO::PARAM_STR); $stmt->execute();
Mit diesen Techniken können Sie ganz einfach SQL-Abfragen erstellen, die Daten basierend auf in einem Array gespeicherten Werten filtern.
Das obige ist der detaillierte Inhalt vonWie übergebe ich ein Array von IDs an eine SQL-WHERE-Klausel?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!