Страницы

Поиск по вопросам

вторник, 25 февраля 2020 г.

Pdo экранирование кавычек

#php #pdo #экранирование


Нужно в базу добавлять текст с кавычками ('"`), предварительно экранируя их.
Через mysqli_real_escape_string - в базу добавляет значения, вместе с кавычками.

А через pdo->prepare() и pdo->quote() - нет.

так не работает, если в тексте будут кавычки:

$sql = "INSERT INTO news(text) VALUES('$noFilter')";
$query = $pdo->prepare($sql);
$query->execute(); 


так тоже, если будут кавычки в тексте:

$sql = "INSERT INTO news(text) VALUES('$noFilter')";
    $query = $pdo->quote($sql);


Как быть?
    


Ответы

Ответ 1



Не подставлять значения напрямую, а использовать плейсхолдеры $query = 'INSERT INTO news (text) VALUES (:text)'; $statement = $pdo->prepare($query); $statement->bindValue(':text', $text); $statement->execute();

Комментариев нет:

Отправить комментарий