Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Câu lệnh chuẩn bị sẵn trong PHP PDO - Truy vấn LIKE trong MySQL

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

Cái này sai. Bạn không cần dấu ngoặc kép.

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

Điều này cũng sai. Hãy thử với:

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

Giải thích:Các câu lệnh chuẩn bị không chỉ đơn giản thực hiện một chuỗi thay thế. Chúng vận chuyển dữ liệu hoàn toàn tách biệt với truy vấn. Dấu ngoặc kép chỉ cần thiết khi nhúng các giá trị vào một truy vấn.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cách xuất dữ liệu từ SQL Server 2005 sang MySQL

  2. MySQL kiểm tra xem một bảng có tồn tại hay không mà không đưa ra một ngoại lệ

  3. Tạo một chỉ mục trên một bảng sản xuất MySQL khổng lồ mà không cần khóa bảng

  4. Cách sao lưu cơ sở dữ liệu MySQL từ dòng lệnh trong Linux

  5. Nối ba bảng bằng MySQL