Я обновляю какой -то устаревший код PHP, который использует MySQL_ESCAPE_STRING, чтобы избежать строк. Веб -хост не включил модуль PDO в их последнее обновление (я потратил часы в бессмысленном чате, чтобы заставить их исправить это безрезультатно), поэтому я использую строку mysqli_escape, которая требует дополнительный аргумент $ conn. < /P>
Код: Выделить всё
$escaped_string = mysqli_real_escape_string($conn, $unescaped_string);
< /code>
Тем не менее, многие из экземпляров сбегающих строк находятся в функциях формы: < /p>
func myfunction($string) {
}
< /code>
, который для того, чтобы соответствовать дополнительному аргументу, должен был бы измениться на < /p>
func myfunction($conn, $string) {
}
и быть вызванным как myfunction ($ conn, $ string) вместо myfunction ($ string) . (Я упрощаю. Они, как правило, намного сложнее.) Я бы предпочел не менять все вызовы, расположенные в многочисленных файлах по всему приложению, чтобы включить дополнительный аргумент.
Код: Выделить всё
$conn = makeConn();
func myfunction($string) {
global $conn;
$escaped_string = mysqli_real_escape_string($conn, $unescaped_string);
return escaped_string;
}
Я не могу чрезмерно использовать глобальные переменные и просто задаться вопросом, есть ли лучшая альтернатива или это путь.>
Подробнее здесь:
https://stackoverflow.com/questions/797 ... n-php-to-f