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

Đảo ngược hiệu ứng của `mysqli_real_escape_string`

Câu trả lời monkeymatrix không chính xác cho các phiên bản PHP gần đây (tôi đã thử nghiệm nó trên 7.3). mysqli_real_escape_string() chỉ thoát một số ký tự nhất định. Đây là một hàm sẽ đảo ngược nó:

function reverse_mysqli_real_escape_string($str) {
    return strtr($str, [
        '\0'   => "\x00",
        '\n'   => "\n",
        '\r'   => "\r",
        '\\\\' => "\\",
        "\'"   => "'",
        '\"'   => '"',
        '\Z' => "\x1a"
    ]);
 }

Trong một ứng dụng được viết đúng cách, hiếm khi cần đến chức năng này. Bạn nên sử dụng PDO với liên kết tham số để tự động xử lý bất kỳ quá trình thoát nào. Tôi chỉ tạo chức năng này để xử lý một số mã kế thừa đang thoát khỏi mọi thứ trên đầu vào và tôi cần một cách để quay lại dữ liệu ban đầu.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. PHP $ stmt-> num_rows không hoạt động bằng các câu lệnh đã chuẩn bị

  2. Làm cách nào để khởi tạo cơ sở dữ liệu MySQL với lược đồ trong vùng chứa Docker?

  3. Làm cách nào để cho phép khách hàng đăng nhập vào trang web của bạn bằng tài khoản Google của họ?

  4. Cách thêm quy tắc trình xác thực các trường duy nhất được kết hợp trong Laravel 4

  5. Lỗi SQL:0, SQLState:08S01 Lỗi liên kết truyền thông