Jawaban monkeymatrix salah untuk versi PHP terbaru (saya mengujinya pada 7.3). mysqli_real_escape_string()
hanya lolos karakter tertentu. Berikut adalah fungsi yang akan membalikkannya:
function reverse_mysqli_real_escape_string($str) {
return strtr($str, [
'\0' => "\x00",
'\n' => "\n",
'\r' => "\r",
'\\\\' => "\\",
"\'" => "'",
'\"' => '"',
'\Z' => "\x1a"
]);
}
Dalam aplikasi yang ditulis dengan benar, seharusnya jarang ada kebutuhan untuk fungsi ini. Anda harus menggunakan PDO dengan pengikatan parameter untuk menangani pelolosan apa pun secara otomatis. Saya hanya membuat fungsi ini untuk menangani beberapa kode lama yang lolos dari semua input dan saya membutuhkan cara untuk kembali ke data asli.