PHPs PDO (PHP Data Objects) bietet einen Mechanismus zum Binden von Platzhaltern bei Abfragen nach Werten in einem Array. Es unterstützt jedoch nicht nativ die Bindung eines Wertearrays an eine IN()-Bedingung.
Um dieses Problem zu umgehen, können Sie manuell eine Platzhalterzeichenfolge erstellen, indem Sie darüber iterieren das Array und die Verkettung von Platzhaltern mit Kommas.
$ids = [1, 2, 3, 7, 8, 9]; $in = str_repeat('?,', count($ids) - 1) . '?';
Die Variable $in enthält eine Zeichenfolge wie „?,?,?,?,?,?“ Fragen Sie das Array ab und übergeben Sie es als Argumente:
Alternativer Ansatz: Benannt PlatzhalterFür benannte Platzhalter wie :id0, :id1, :id2 usw. müssen Sie manuell eine Folge von Platzhaltern erstellen und Werte in einem assoziativen Array sammeln.$stmt = $db->prepare("SELECT * FROM table WHERE id IN($in)");
Fazit
$stmt->execute($ids);
Das obige ist der detaillierte Inhalt vonWie kann ich ein Array an eine IN()-Klausel in PDO binden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!