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

Làm thế nào để sử dụng chuỗi PHP trong truy vấn mySQL LIKE?

Bạn sai cú pháp; không cần phải đặt dấu chấm bên trong chuỗi có dấu ngoặc kép. Thay vào đó, nó sẽ giống hơn

$query = mysql_query("SELECT * FROM table WHERE the_number LIKE '$prefix%'");

Bạn có thể xác nhận điều này bằng cách in ra chuỗi để thấy rằng nó giống hệt với trường hợp đầu tiên.

Tất nhiên đó không phải là một ý kiến ​​hay chỉ cần đưa các biến vào chuỗi truy vấn như thế này vì sự nguy hiểm của SQL injection. Ít nhất bạn nên thoát nội dung của biến theo cách thủ công bằng mysql_real_escape_string , có lẽ sẽ làm cho nó trông giống như thế này:

$sql = sprintf("SELECT * FROM table WHERE the_number LIKE '%s%%'",
               mysql_real_escape_string($prefix));
$query = mysql_query($sql);

Lưu ý rằng bên trong đối số đầu tiên của sprintf dấu phần trăm cần được nhân đôi để cuối cùng xuất hiện một lần trong kết quả.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Mô hình cơ sở dữ liệu cho một thực thể yếu

  2. Tạo các ký tự chữ và số ngẫu nhiên duy nhất dài 7 ký tự

  3. Cơ sở dữ liệu .Net Core 2.0 Phương pháp tiếp cận đầu tiên Scaffold-DbContext của Mysql DB

  4. tải nhiều tệp hình ảnh lên thư viện php mysql

  5. Mysql utf32_unicode_ci và bộ mã html utf-8 đã được sử dụng, nhưng ký tự � xuất hiện