sql >> Databasteknik >  >> RDS >> Mysql

hur förhindrar man sql-injektion från denna fråga?

När platshållaren citeras är det inte en platshållare, det är det bokstavliga värdet. Prova så här:

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

Drivrutinen lägger för närvarande till kolon automatiskt, men det kanske inte kommer i framtiden, det är bäst att låta namnet matcha platshållaren.




  1. psql:FATAL:databasen <användare> finns inte

  2. Ruby, Rails:mysql2 pärla, använder någon denna pärla? Är det stabilt?

  3. Skapa tabell om den inte finns från mysqldump

  4. Bästa MySQL DigitalOcean-prestanda – ScaleGrid vs. DigitalOcean Managed Databases