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

Thay thế an toàn cho mysql_real_escape_string? (PHP)

  • Thật tồi tệ khi kết nối mỗi khi bạn gọi hàm này. Một ứng dụng có kế hoạch tốt sẽ không có giới hạn kỳ quặc như vậy.
  • bạn có thể sử dụng các thay thế, như thế này
    myquery("SELECT * FROM table WHERE id = %s","My string");

  • Bạn có thể sử dụng một cách thay thế khác, một cách hiện đại:câu lệnh chuẩn bị. nó sẽ được mô tả trong nhiều câu trả lời khác.

vì chưa có ai đăng nó, đây là ví dụ sơ bộ

function fetchAll(){
 $args = func_get_args();
 $query = array_shift($args);
 $stmt = $pdo->prepare($query);
 $stmt->execute($args);
 return $stmt->fetchAll();
}
$a=$db->fetchAll("SELECT * FROM users WHERE status=? LIMIT ?,?",$status,$start,$num);
  • Miễn là bạn đang sử dụng mã hóa byte đơn hoặc utf-8, không cần sử dụng mysql_real_escape_string, vì vậy mysql_escape_string (không dùng nữa) hoặc dấu gạch ngang là đủ


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySQL GROUP BY thông minh cho Luồng hoạt động

  2. Làm cách nào để bạn sử dụng BIGINT làm Khóa chính tự động tăng dần trong Laravel 4

  3. Cập nhật tất cả các giá trị của một cột thành chữ thường

  4. Làm cách nào để tôi có thể chèn một danh sách được trả về từ truy vấn pyodbc mssql vào mysql thông qua thủ tục được lưu trữ bằng cách sử dụng pymysql

  5. Làm thế nào để chèn dữ liệu json vào bảng?