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

triển khai truy vấn LIKE trong PDO

Bạn phải bao gồm % đăng nhập vào $params , không có trong truy vấn:

$query = "SELECT * FROM tbl WHERE address LIKE ? OR address LIKE ?";
$params = array("%$var1%", "%$var2%");
$stmt = $handle->prepare($query);
$stmt->execute($params);

Nếu bạn nhìn vào truy vấn được tạo trong mã trước đó của mình, bạn sẽ thấy một cái gì đó giống như SELECT * FROM tbl WHERE address LIKE '%"foo"%' OR address LIKE '%"bar"%' , bởi vì câu lệnh đã chuẩn bị đang trích dẫn các giá trị của bạn bên trong một chuỗi đã được trích dẫ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. Truy vấn chèn MySQL không hoạt động với mệnh đề WHERE

  2. Kết nối với cơ sở dữ liệu MySQL từ xa thông qua SSH bằng Java

  3. MYSQL vào quyền truy cập outfile bị từ chối - nhưng người dùng của tôi có TẤT CẢ quyền truy cập .. và thư mục là CHMOD 777

  4. Cách kết nối với cơ sở dữ liệu MySQL hoặc MariaDB

  5. Tính toán decile từ lần truy cập gần đây trong MySQL