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.