Mysql
 sql >> база данни >  >> RDS >> Mysql

Изберете Множество идентификатори от таблица

Когато интерполирате

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

с вашите идентификационни номера получавате:

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

...което третира вашия набор от идентификатори като единичен низ вместо набор от цели числа.

Отървете се от единичните кавички в IN клауза, както следва:

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

Също така, не забравяйте, че трябва да проверите за атаки с инжектиране на SQL . Вашият код в момента е много опасен и има риск от сериозна загуба на данни или достъп. Помислете какво може да се случи, ако някой извика вашата уеб страница със следния URL и кодът ви му позволи да изпълни множество оператори в една заявка:

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


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySql, комбиниращ колона за дата и час в времеви печат

  2. Изберете редове от таблицата на MySQL, където времевата марка на PHP е по-стара от X

  3. mysql - мога ли да попитам колко connect_errors даде даден хост?

  4. Направете една таблица в mysql само за четене

  5. Yii2:Kartik Gridview сума от колона в долния колонтитул