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

mysql PDO cách liên kết LIKE

Bạn cũng có thể nói:

SELECT wrd FROM tablename WHERE wrd LIKE CONCAT(:partial, '%')

để thực hiện việc tham gia chuỗi ở cuối MySQL, không phải là có bất kỳ lý do cụ thể nào trong trường hợp này.

Mọi thứ trở nên phức tạp hơn một chút nếu wrd một phần mà bạn đang tìm kiếm có thể chứa ký tự phần trăm hoặc ký tự gạch dưới (vì chúng có ý nghĩa đặc biệt đối với toán tử LIKE) hoặc dấu gạch chéo ngược (mà MySQL sử dụng như một lớp thoát khác trong toán tử LIKE - không chính xác, theo tiêu chuẩn ANSI SQL).

Hy vọng rằng điều đó không ảnh hưởng đến bạn, nhưng nếu bạn cần giải quyết đúng trường hợp đó, đây là giải pháp lộn xộn:

$stmt= $db->prepare("SELECT wrd FROM tablename WHERE wrd LIKE :term ESCAPE '+'");
$escaped= str_replace(array('+', '%', '_'), array('++', '+%', '+_'), $var);
$stmt->bindParam(':term', $escaped);


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Làm thế nào để thực hiện chèn hàng loạt trong MySQL?

  2. Sắp xếp theo thứ tự của các giá trị trong mệnh đề SQL IN ()

  3. Chọn các cột trên các cơ sở dữ liệu khác nhau

  4. Làm thế nào để nhận được ngày đầu tiên của mỗi tháng tương ứng trong mysql?

  5. Cách hoạt động của hàm POSITION () trong MySQL