Nếu được sử dụng ở mọi nơi một cách chính xác thì real_escape_string là một tùy chọn. Nhưng hãy xem xét đoạn mã sau:
$page = $_GET['page'];
$sql = 'SELECT `name` FROM `user` WHERE `id` = ' . mysqli_real_escape_string($page);
An toàn hay không? real_escape_ string chỉ có thể được sử dụng để thoát chuỗi bên trong dấu ngoặc kép. $page
có thể là 1 OR id IN (2,3,4,5,6,7,8,9)
→ không có dấu ngoặc kép, không có thoát thực. Truyền tới đúng kiểu dữ liệu (int) có thể hữu ích trong trường hợp này. Tốt hơn hết bạn nên sử dụng các câu lệnh đã chuẩn bị sẵn, chúng không dễ bị sử dụng sai.