Задать вопрос
@Jamy_Iler

Как записать смайл в базу данных?

При помощи API получаю сообщение из ВК, и текст сообщения записываю в базу данных таким образом:
mysql_query("UPDATE `users` SET `content`='$info|$text|$attachment' WHERE `uid`=$uid");

Проблема. Если пользователь в сообщении использует смайл, то в поле `content` записывается строка содержащая $info, вертикальную черту и часть $text до момента где стоит смайл. Если смайлов нет то ничего не обрезается и все три переменные с разделителями записываются как надо.

Строку $text никак не экранирую предварительно. Пробовал, не помогло
  • Вопрос задан
  • 4763 просмотра
Подписаться 1 Оценить Комментировать
Помогут разобраться в теме Все курсы
  • Skillbox
    Веб-разработчик на PHP
    9 месяцев
    Далее
  • Хекслет
    PHP-разработчик
    10 месяцев
    Далее
  • Нетология
    Веб-разработчик с нуля: профессия с выбором специализации
    14 месяцев
    Далее
Решения вопроса 1
nazarpc
@nazarpc
Open Source enthusiast
Во-первых, НИКОГДА не делайте прямую подстановку данных в SQL запрос, это готовая SQL иньекция.
Для корректного сохранения нужно:
1) Правильно приготовить SQL запрос вместо указанной жести (а ещё вы используете устаревшую функцию mysql_query, в последней версии PHP она отсутствует совсем)
2) В БД нужно использовать кодировку utf8mb4 вместо просто utf8 (потому что эта не полноценная по факту), иначе верхний диапазон Unicode символов (смайлики, например) не будет поддерживаться так, как должен
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@Lulzsec
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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