Отговорът на monkeymatrix е неправилен за последните версии на PHP (тествах го на 7.3). mysqli_real_escape_string()
избягва само определени знаци. Ето функция, която ще го обърне:
function reverse_mysqli_real_escape_string($str) {
return strtr($str, [
'\0' => "\x00",
'\n' => "\n",
'\r' => "\r",
'\\\\' => "\\",
"\'" => "'",
'\"' => '"',
'\Z' => "\x1a"
]);
}
В правилно написано приложение рядко трябва да има нужда от тази функция. Трябва да използвате PDO с обвързване на параметри, за да се справите автоматично с всяко избягване. Създадох тази функция само за обработка на някакъв наследен код, който избягваше всичко при въвеждане и имах нужда от начин да се върна към оригиналните данни.