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

как да предотвратя инжектирането на sql от тази заявка?

Когато заместителят е цитиран, това не е заместител, това е буквалната стойност. Опитайте по следния начин:

$a = Model::model()->findAllBySql(
                      'SELECT * FROM table WHERE name like :name',
                      array(":name"=> '%' . $_GET['name'] . '%')
                      );

Понастоящем драйверът автоматично добавя двоеточия, но може и да не е в бъдеще, най-добре е името да съответства на заместителя.




  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 базата данни на Moodle

  2. MySQL индекс за MIN и MAX

  3. Проблеми с използването на MS Access като преден край на база данни на MySQL?

  4. Как да извлечете несъответстващи резултати в mysql

  5. sql::SQLString поведение