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 ý.