Ich bin etwas PHP-Code um PDO für den Datenbankzugriff zu verwenden, aber ich habe ein Problem mit einer "WHERE ... IN" Abfrage.PDO mit "WHERE ... IN" Abfragen
Ich versuche, einige Dinge aus einer Datenbank zu löschen, basierend darauf, welche Elemente in einem Formular überprüft werden. Die Länge und der Inhalt der Liste wird variieren, aber für dieses Beispiel vorstellen, dass es das ist:
$idlist = '260,201,221,216,217,169,210,212,213';
Dann sieht die Abfrage wie folgt:
$query = "DELETE from `foo` WHERE `id` IN (:idlist)";
$st = $db->prepare($query);
$st->execute(array(':idlist' => $idlist));
Wenn ich dies tun, nur die erste ID ist gelöscht. (Ich nehme an, es wirft das Komma und alles danach hinaus.)
Ich habe auch versucht, $idlist
ein Array zu machen, aber dann löscht es nichts.
Was ist der richtige Weg, um eine Liste von Elementen in einer PDO-Prepared-Anweisung zu verwenden?
Sie müssen keine Lösung in Ihrer Frage hinzufügen. Wenn Sie denken, dass es eine bessere Antwort ist, beantworten Sie Ihre eigene Frage oder schlagen Sie die Bearbeitung der ursprünglichen Antwort vor. – PhoneixS
@PhoneixS Feine Ratschläge, aber ich habe diese Frage zum letzten Mal im Jahr 2010 berührt und seither nicht wirklich mit PHP gearbeitet. Fühlen Sie sich frei zu bearbeiten, wenn Sie möchten. –