Không, bạn không phải tự mình thoát khỏi giá trị (tức là không, bạn không cần gọi mysqli_real_escape_string
) , khi bạn đang sử dụng các câu lệnh đã chuẩn bị sẵn:công cụ DB sẽ tự thực hiện điều đó.
(Trên thực tế, nếu bạn đang gọi mysql_real_escape_string
và sử dụng các tham số bị ràng buộc, các chuỗi của bạn sẽ bị thoát hai lần - điều này sẽ không tuyệt vời:bạn sẽ kết thúc với việc thoát các ký tự ở khắp mọi nơi ...)
Dưới dạng ghi chú bên cạnh:các giá trị của bạn được chuyển dưới dạng số nguyên (như được chỉ ra bởi 'ii'
) , vì vậy bạn sẽ không phải gọi mysql_real_escape_string
, ngay cả khi bạn không sử dụng các câu lệnh đã chuẩn bị sẵn:như tên gọi của nó chỉ ra, hàm này được sử dụng để thoát ... chuỗi.
Đối với số nguyên, tôi thường chỉ sử dụng intval
để đảm bảo dữ liệu tôi đưa vào các truy vấn SQL của mình thực sự là số nguyên.
(Tuy nhiên, khi bạn đang sử dụng các truy vấn đã chuẩn bị sẵn, một lần nữa, bạn không cần phải tự thoát ra như vậy)