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

Không thể tìm kiếm các truy vấn trong bảng MySQL

Có một số điều sai với cách bạn thực hiện việc này.

Đầu tiên, bạn không trích dẫn giá trị của mình:'$key'

$query = "SELECT * FROM `keys` WHERE `key` = '$key'";

Thứ hai, mã của bạn rộng rãi để đưa vào SQL. Thoát khỏi giá trị của bạn:

$key = mysql_real_escape_string($_GET["key"]);

Đoạn mã trên là mức tối thiểu tuyệt đối bạn cần làm.
Điều tiếp theo là mysql_ các hàm đã không được chấp nhận từ lâu và đã bị loại bỏ trong PHP 7.

Bạn sẽ cần chuyển sang mysqli_ hoặc PDO . Bạn chuyển đổi càng sớm càng tốt. Vui lòng đọc câu hỏi này để biết thêm thông tin: Làm cách nào để ngăn chặn việc đưa SQL vào PHP?

Ngoài tất cả các vấn đề ở trên, bạn sẽ tiết kiệm cho mình (và thậm chí nhiều hơn nữa để những người khác, nếu họ phải đọc mã của bạn) một số vấn đề đau đầu nếu bạn không bao giờ sử dụng từ khóa và từ dành riêng dưới dạng tên bảng hoặc cột, như Jay Blanchard đã lưu ý.



  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 cách nào để khớp một ký tự trong MySQL thay cho%?

  2. Không thể kết nối với bất kỳ máy chủ MySQL nào được chỉ định

  3. Làm cách nào để quyết định khi nào sử dụng liên kết phải / liên kết trái hoặc liên kết bên trong Hoặc làm thế nào để xác định bảng nào nằm ở phía nào?

  4. Cập nhật nhiều hàng với một truy vấn?

  5. Lợi ích của việc sử dụng mối quan hệ một-một bảng là gì? (MySQL)