Задать вопрос
mal1kov
@mal1kov
Притворись дураком 5 минут, чем быть им всю жизнь.

Почему PHP не принимает символы / ' ` и смайлики в строке input и textarea для записи в БД MySQL?

PHP не принимает символы / ' ` и смайлики в строке input и textarea при записи в БД MySQL

Мне нужно, чтобы это потом выводилось таким же образом как было написано, но почему-то данные не записываются.

Что можно сделать?
  • Вопрос задан
  • 156 просмотров
Подписаться 1 Простой Комментировать
Помогут разобраться в теме Все курсы
  • Skillfactory
    Профессия Fullstack веб-разработчик на JavaScript и PHP
    20 месяцев
    Далее
  • Хекслет
    PHP-разработчик
    10 месяцев
    Далее
  • Нетология
    Веб-разработчик с нуля: профессия с выбором специализации
    14 месяцев
    Далее
Пригласить эксперта
Ответы на вопрос 2
FanatPHP
@FanatPHP
Чебуратор тега РНР
Чтобы смайлы не вызывали ошибку надо выставить правильную кодировку
чтобы никакие символы не мешали запросу, все переменные надо передавать в БД отдельно от запроса

// правильно соединяемся
mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
$mysqli = new mysqli($host, $user, $pass, $db, $port);
$mysqli->set_charset("utf8mb4");
// правильно вставляем
$sql = "INSERT INTO users (name, email, password) VALUES (?,?,?)";
$stmt= $conn->prepare($sql);
$stmt->bind_param("sss", $name, $email, $password);
$stmt->execute();
Ответ написан
Комментировать
flapflapjack
@flapflapjack
на треть я прав
Чтобы смайлики записывались, поле в бд должно быть типа utf64mb, а чтобы спецсимволы писались, нужно перед записью их экранировать с помощью mysql_real_escape_string()
Ответ написан
Ваш ответ на вопрос

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

Похожие вопросы