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

Kết quả tìm kiếm PHP xuất ra kết quả khác nếu bạn chỉ đưa ra một chữ cái

Truy vấn sql của bạn cần phải nhóm các điều kiện của bạn đúng cách

$query=mysql_query("select * from persons where status like 'found' and (firstname like '%$searchtext%' or lastname like '%$searchtext%') order by date desc LIMIT $start,$per_page ");

Những gì bạn đang làm tương đương với một cái gì đó như thế này trong mã:

if (status == 'found' && firstname like 'a')
{
    return row;
}
else if (lastname like 'a')
{
    return row;
}

Nếu bạn thấy điều này, nó có thể rõ ràng hơn một chút, nếu điều kiện đầu tiên không thành công (điều kiện duy nhất kiểm tra xem status == 'found' sau đó nó sẽ chuyển sang điều kiện tiếp theo (sau câu lệnh OR) và chỉ kiểm tra xem lastname phù hợp.

Bạn sẽ cần phải nhóm điều kiện câu lệnh đã chọn của mình để nó kiểm tra chính xác:

...where status like 'found' and (firstname like '%$searchtext%' or lastname like '%$searchtext%') order by...

Trong trường hợp này, chúng tôi nhóm cả firstnamelastname điều kiện cùng nhau (trong ngoặc đơn) để toàn bộ điều kiện HOẶC dẫn đến một câu trả lời đúng / sai, câu trả lời đó sau đó được áp dụng cho trạng thái status kiểm tra sau.




  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 lưu trữ dữ liệu vào cơ sở dữ liệu trong LARAVEL 5.2

  2. Nhập tệp kết xuất MySQL vào MSSQL

  3. Chọn Dữ liệu MySQL mới nhất nhưng khu nghỉ dưỡng độc đáo

  4. Không thể tính tổng tích lũy `COUNT (*) '

  5. Tạo và lưu trường biểu mẫu động trong cơ sở dữ liệu php mysql