Задать вопрос
@Kirill-Gorelov
С ума с IT

Как сохранить & ' " в Mysql php?

Ребят, привет.
Подскажите как сохранить текст в базу, если он содержит знаки ' и ".
Мой запрос: INSERT INTO `message`(`email_otvet`, `messageh`, `messaget`) VALUES ('$emailotveta','$messageh', '$messaget')";
Мне приходится перед сохранением эти знаки делать в спецсимволы
$messageh = str_replace('"', '"', $messageh);
 $messageh = str_replace("'", "'", $messageh);


На выходе, что бы отправить это содержимое через get параметр делать обратно
$messageh = str_replace('"', '"', $messageh);
 $messageh = str_replace("'", "'", $messageh);


Как мне избавиться от этих лишних действий!
  • Вопрос задан
  • 207 просмотров
Подписаться 1 Оценить 4 комментария
Помогут разобраться в теме Все курсы
  • Skillbox
    Веб-разработчик на PHP
    9 месяцев
    Далее
  • Хекслет
    PHP-разработчик
    10 месяцев
    Далее
  • Нетология
    Веб-разработчик с нуля: профессия с выбором специализации
    14 месяцев
    Далее
Пригласить эксперта
Ответы на вопрос 4
Rsa97
@Rsa97
Для правильного вопроса надо знать половину ответа
Использовать PDO или mysqli с плейсхолдерами.
Ответ написан
Комментировать
rpsv
@rpsv
делай либо хорошо, либо никак
Вообще не круто вы поступаете.

Немного теории: https://ru.wikipedia.org/wiki/Внедрение_SQL-кода

Немного практики: php.net/manual/ru/pdo.prepare.php

Немного кода:
$dbh->prepare('INSERT INTO `message`(`email_otvet`, `messageh`, `messaget`) VALUES (?, ?, ?)')->execute([
    $emailotveta, $messageh, $messaget
]);
Ответ написан
Комментировать
@Quieteroks
php программист
Можно просто экранировать эти символы.
В каждом драйвере для этих целей имеется специальная функция.

php.net/manual/ru/mysqli.real-escape-string.php
php.net/manual/ru/pdo.quote.php

Или использоваться подготовленные запросы, тогда за Вас всю работу сделает драйвер.
Но не всегда же получается использовать подготовленный запрос, поэтому знать об экранировании желательно.
Ответ написан
Комментировать
villiwalla
@villiwalla
HTML-верстка
Символы в их сущность htmlentitiens()
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
FoodSoul Калининград
от 180 000 до 250 000 ₽
IT-Spirit Москва
от 230 000 до 320 000 ₽
от 200 000 до 290 000 ₽