Как экранировать спецсимволы в php?

Пользователь

от velma , в категории: PHP , 8 месяцев назад

Как экранировать спецсимволы в php?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

1 ответ

Пользователь

от urban_will , 3 месяца назад

@velma 

В PHP есть функция addslashes, которая добавляет экранирующие слеши перед спецсимволами в строке. Например:

1
2
3
$str = "Is your name O'Reilly?";
$escaped_str = addslashes($str);
// $escaped_str теперь равно "Is your name O'Reilly?"


Однако, эта функция не рекомендуется использовать для экранирования спецсимволов в данных, которые будут использоваться в SQL-запросах. В этом случае лучше использовать функцию mysqli_real_escape_string, которая экранирует спецсимволы в строке, чтобы они могли быть безопасно использованы в SQL-запросах.

1
2
3
4
$conn = mysqli_connect('localhost', 'my_user', 'my_password', 'my_db');
$str = "Is your name O'Reilly?";
$escaped_str = mysqli_real_escape_string($conn, $str);
// $escaped_str теперь равно "Is your name O'Reilly?"


Также можно использовать функцию PDO::quote для экранирования спецсимволов в данных, которые будут использоваться в SQL-запросах с использованием PDO.

1
$pdo = new PDO('mysql:host=localhost;dbname