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

PHP PDO подготвен израз -- MySQL LIKE заявка

$ret = $prep->execute(array(':searchTerm' => '"%'.$searchTerm.'%"'));

Това е грешно. Нямате нужда от двойни кавички.

WHERE hs.hs_text LIKE ":searchTerm" 
$ret = $prep->execute(array(':searchTerm' => '%'.$searchTerm.'%'));

Това също е погрешно. Опитайте с:

$prep = $dbh->prepare($sql);
$ret = $prep->execute(array(':searchTerm' => '%'.$searchTerm.'%'));

Обяснение:Подготвените оператори не правят просто замяна на низ. Те пренасят данните напълно отделно от заявката. Кавичките са необходими само при вграждане на стойности в заявка.



  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_connect()

  3. Присъединяване спрямо подзаявка

  4. MySQL LAST_INSERT_ID() използван с множество записи INSERT израз

  5. MySQL функция за намиране на броя на работните дни между две дати