Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Wählen Sie mehrere IDs aus einer Tabelle aus

Wenn Sie

interpolieren
"select * from info WHERE `id` IN ('$ids')"

mit Ihren IDs erhalten Sie:

"select * from info WHERE `id` IN ('1,2,3,4,5')"

...das Ihren Satz von IDs als eine einzelne Zeichenfolge behandelt und nicht als eine Reihe von Ganzzahlen.

Entfernen Sie die einfachen Anführungszeichen im IN Klausel, etwa so:

"select * from info WHERE `id` IN ($ids)"

Vergessen Sie auch nicht, dass Sie nach SQL-Injection-Angriffen suchen müssen . Ihr Code ist derzeit sehr gefährlich und es besteht die Gefahr eines ernsthaften Datenverlusts oder -zugriffs. Überlegen Sie, was passieren könnte, wenn jemand Ihre Webseite mit der folgenden URL aufruft und Ihr Code ihm erlaubt, mehrere Anweisungen in einer einzigen Abfrage auszuführen:

http://www.example.com/myfile.php?theurl=1);delete from info;--