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

PDO/MYSQL подготвените изрази не са екраниращи символи?

Подготвените изявления не убягват от нищо. Когато подготвяте изявление, вашата заявка се компилира предварително, така че се нуждае само от заместителите ( ? ) да се попълни. Тъй като няма начин да се промени SQL на предварително компилираната заявка, не е необходимо екраниране.

За да коригирате това, избягайте от % и _ ръчно.

Добавено:

Малко разумни разсъждения:Във вашия случай, когато потребител въведе % в поле за търсене, вашето $search променливата съдържа низ %%% . Откъде MySQL знае кой % трябва да избяга и кое да остави на мира?



  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 заявка GROUP по и ORDER по

  2. Експортиране на голяма MySql таблица

  3. Как да се свържа с MySQL база данни в Python?

  4. Дизайн на база данни за коментари и отговори

  5. mysql присъединете ON и AND към laravel eloquent