Odpowiedź monkeymatrix jest nieprawidłowa dla ostatnich wersji PHP (testowałem ją na 7.3). mysqli_real_escape_string()
wymyka się tylko niektórym znakom. Oto funkcja, która to odwróci:
function reverse_mysqli_real_escape_string($str) {
return strtr($str, [
'\0' => "\x00",
'\n' => "\n",
'\r' => "\r",
'\\\\' => "\\",
"\'" => "'",
'\"' => '"',
'\Z' => "\x1a"
]);
}
W poprawnie napisanej aplikacji ta funkcja rzadko powinna być potrzebna. Powinieneś używać PDO z wiązaniem parametrów, aby automatycznie obsługiwać wszelkie znaki ucieczki. Stworzyłem tę funkcję tylko do obsługi starszego kodu, który unikał wszystkiego na wejściu i potrzebowałem sposobu na powrót do oryginalnych danych.