2009-12-25 46 views
7

Cơ sở dữ liệu của tôi có các bản ghi tên thỉnh thoảng chứa các dấu nháy đơn, chẳng hạn như Joe's Bar và tôi vừa mã hóa một tập lệnh truy vấn bằng PHP lấy trường đó và đưa nó vào một câu lệnh chọn với thông thường $query = "SELECT address FROM restaurants WHERE name='$name'"; và dấu nháy đơn trong một số tên nhà hàng làm hỏng tàu tình yêu.dấu nháy đơn đang ngắt truy vấn mysql của tôi trong PHP

Làm cách nào để ngăn điều này xảy ra?

Câu trả lời ngắn gọn - Sử dụng cùng kỹ thuật bạn đã sử dụng khi bạn chèn chúng vào cơ sở dữ liệu thông qua PHP.
Rebuttal - Tôi đã gặp phải vấn đề tương tự sau đó và lừa dối và nhập những người phiền hà trực tiếp bằng cách sử dụng PHPMyAdmin nhưng điều này không thể bỏ qua nữa.

Cảm ơn bạn đã dành thời gian trả lời câu hỏi này trong các ngày lễ.

Trả lời

17

Bạn phải $name = mysql_real_escape_string($name); trước dòng đó.

Bạn cũng có thể muốn đọc trên SQL Injections, vì thông tin đầu vào của bạn rõ ràng là không được an toàn.

Các vấn đề liên quan