Mysql
 sql >> Base de données >  >> RDS >> Mysql

Sélectionner plusieurs identifiants dans un tableau

Lorsque vous interpolez

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

avec vos identifiants, vous obtenez :

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

... qui traite votre ensemble d'ID comme une seule chaîne au lieu d'un ensemble d'entiers.

Débarrassez-vous des guillemets simples dans le IN clause, comme ceci :

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

N'oubliez pas non plus que vous devez vérifier les attaques par injection SQL . Votre code est actuellement très dangereux et risque de graves pertes de données ou d'accès. Imaginez ce qui pourrait arriver si quelqu'un appelait votre page Web avec l'URL suivante et que votre code lui permettait d'exécuter plusieurs instructions dans une seule requête :

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