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

Кога да използвате подготвени заявки за PDO. mysql_real_escape грешка

За да коригирате грешката, която получавате, mysql_real_escape_string() изисква отворена връзка чрез mysql_connect() . Тъй като нямате такъв, той се опитва да се свърже и не успява (използвайки потребителско име от matthew , докато вашето PDO се свързва с root ). Освен това не можете (или не трябва ) смесете и съчетайте mysql_real_escape_string() и PDO - това са различни библиотеки.

По отношение на „кога“ да се използват подготвени изрази, общото правило е, когато стойностите не са твърдо кодирани. Вашият пример за LIKE '%hotmail%' не е необходимо да се подготвя, той е твърдо кодиран и никога няма да се промени (освен ако не го актуализирате ръчно, разбира се).

Ако имате заявка, която ще приеме променлива от всякакъв вид, било то данни от $_POST или $_GET , или променлива, която програмист е направил 10 реда преди заявката, трябва да използвате подготвен израз (или поне да го избегнете, вижте PDO::quote ).



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

  2. SQL:как да подредя по поле, ако не е нула, иначе използвам друго поле

  3. Функция MySQL SIN() – Връща синуса на число в MySQL

  4. Добавяне на колони (SQL заявки) към CSV файл в Ruby

  5. Актуализацията на схемата на Symfony2 Doctrine е неуспешна