Кодирование Json и экранирование специальных символов в sql с помощью php [закрыто]Php

Кемеровские программисты php общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Кодирование Json и экранирование специальных символов в sql с помощью php [закрыто]

Сообщение Anonymous »


Я пытаюсь отправить ответ Json из моего php-файла, который извлекает запись из базы данных mysql. В то время как столбец в моей базе данных, который является description, содержит некоторые значения с '(апострофом). Это вызывает ошибку для json_encode(). Какие шаги я должен выполнить, чтобы успешно отправить ответ в формате JSON.

Например, значение в базе данных Мы — материнская компания, основанная на обещании сделать дом лучше. Так что покажите нам свою самую грязную и голодную работу — мы справимся с этой задачей. Ознакомьтесь с нашими брендами: Boulder Clean Pasta Jay's и Schultz's Gourmet. Вместе мы сможем сделать наш дом лучше. Одна комната, одна марка за раз.

Я попробовал изменить его примерно так: Мы — материнская компания, основанная на обещании сделать дом лучше. Так что покажите нам свою самую грязную и голодную работу — мы справимся с этой задачей. Ознакомьтесь с нашими брендами: Boulder Clean Pasta Jay's и Schultz's Gourmet. Вместе мы сможем сделать наш дом лучше. Одна комната, одна марка за раз., но все равно не помогло.

Код:

$sql = "ВЫБРАТЬ идентификатор, описание, страну ОТ пользователей"; $result = $conn->query($sql); // Проверяем, был ли запрос успешным если ($результат) { $данные = массив(); while ($row = $result->fetch_assoc()) { $данные[] = $строка; } $conn->закрыть(); $jsonResponse = json_encode($data); если ($jsonResponse === ложь) { эхо «не удалось»; } еще { эхо $jsonResponse; } Выход(); } еще { эхо «Ошибка:». $conn-> ошибка; } Код для регистрации ошибки кодирования JSON:

$jsonResponse = json_encode($data); если ($jsonResponse === ложь) { echo «Ошибка кодирования json»; } еще { эхо $jsonResponse; } Выход(); **выберите запрос: ** $sql = "ВЫБЕРИТЕ идентификатор, домен, описания, страну ОТ пользователей, где id=4";

вывод при получении
Изображение


запись базы данных для строки с идентификатором 4:
Изображение


выберите запрос 2: для записи, в которой нет апострофа ' $sql = "ВЫБЕРИТЕ идентификатор, домен, описания, страну ОТ пользователей, где id=3";
Изображение


Запись в базе данных третьей строки:
Изображение
также, как говорилось ранее, если мы пропустим столбец описания, мы получим ответ для всех строк.

Я также заметил то же самое для столбца адреса. всякий раз, когда в адресе есть ', API не дает ответа. не удалось выполнить json_encode().

**ПРИМЕЧАНИЕ: ** Существуют также значения, содержащие , (запятая) - (дефис): (двоеточие) . это также автоматически кодируется с помощью json_encode?
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Php»