Строка JSON не вставляется в БД

Samail
На сайте с 10.05.2007
Offline
369
513

Таблица:


CREATE TABLE sprav (
id varchar(1) collate utf8_bin NOT NULL,
s_data longtext character set utf8 NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_bin;

код:


$jsonString = file_get_contents('http://***');
$result = mysql_query("update sprav set s_data=$jsonString where id=1");

Символов в JSON около 500 тыс.

Пробую на Денвере.

echo $jsonString; показывает данные как нужно

Если указать: $jsonString = 1234; данные обновляются.

А если $jsonString = file_get_contents('http://***'); то нет.

Что я делаю не так?

Lord Maverik
На сайте с 15.04.2003
Offline
471
#1

С большой долей вероятности виной всему кавычки. Экранируйте кавычки в строке.

RedMall.Ru (https://redmall.ru) - Товары из Китая (Таобао, Tmall) с проверкой качества, скидка для форумчан 7% Партнерская программа 2 уровня: 5% + 5%. Подробнее. (https://redmall.ru/about/partner/)
Samail
На сайте с 10.05.2007
Offline
369
#2

Экранирование помогло, спасибо.

Samail
На сайте с 10.05.2007
Offline
369
#3

Строка вставляется и извлекается тоже. Но не разбирается почему-то.

Сам скрипт у меня есть и работает. Создал у себя php файл, в нём 'echo $json'

в скрипте, в

$jsonString = file_get_contents('http://чужой_сат/json');

Поменял путь на "свой_сайт/файл.php", не разбирается, echo $jsonString выводит строку, всё в ней на вид то-же самое что и в файле с внешнего сайта. Но что-то всё равно не так? В какую сторону копать?

lutskboy
На сайте с 22.11.2013
Offline
191
#4

а как екранируете кавычки

Samail
На сайте с 10.05.2007
Offline
369
#5

$jsonString2 = mysql_real_escape_string($jsonString);
Станислав
На сайте с 27.12.2009
Offline
258
#6

на сколько я помню echo может выводить только строку.

ПС. С php и mysql давно не работал, уже позабыл все =)

Мы там, где рады нас видеть.
owx
На сайте с 27.06.2009
Offline
100
owx
#7
Samail:
Строка вставляется и извлекается тоже. Но не разбирается почему-то.
Сам скрипт у меня есть и работает. Создал у себя php файл, в нём 'echo $json'
в скрипте, в
$jsonString = file_get_contents('http://чужой_сат/json');

Поменял путь на "свой_сайт/файл.php", не разбирается, echo $jsonString выводит строку, всё в ней на вид то-же самое что и в файле с внешнего сайта. Но что-то всё равно не так? В какую сторону копать?

В строну json_decode

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий