php mysql simplexml_load_string () ошибка mysql_escape_string - PullRequest
0 голосов
/ 03 мая 2011

Я сохраняю содержимое файла XML в MySQL базе данных с:

$content = mysql_escape_string($content);
$insert = mysql_query("insert into $db_table_xml (url,content) values ('$url','$content')" ); 
//content type : TEXT in MySQL


simplexml_load_string($content);

возвращает ошибку:

Предупреждение: simplexml_load_string () [Function.simplexml-нагрузки строка]: Объект: строка 361: ошибка синтаксического анализатора: AttValue: 'ожидается в D: \ MKW \ DEV \ Web \ PHPnow-1.5.6 \ HTDOCS \ yt2 \ common.php по линии 84

Примечание: попытка получить собственность не объект в D: \ MKW \ DEV \ Web \ PHPnow-1.5.6 \ HTDOCS \ yt2 \ common.php по линии 146

Предупреждение: указан неверный аргумент для foreach () в D: \ MKW \ DEV \ Web \ PHPnow-1.5.6 \ HTDOCS \ yt2 \ common.php по линии 146

Ответы [ 2 ]

0 голосов
/ 03 мая 2011

Похоже, ваша переменная $ content содержит одинарные кавычки, которые влияют на завершение строки. Вот что вы можете сделать, если это так:

$content= addslashes($content);

Затем вы записываете это в свою запись.

0 голосов
/ 03 мая 2011

Эта ошибка означает, что это недопустимый xml, проверьте файл xml, чтобы убедиться, что с ним что-то не так.

Найдите в нем строку 361, возможно, имеется специальный символ или похожая ошибка

Редактировать.

Очевидно, что когда вы выходите из xml, вы вводите недопустимые символы в вашем xml,

используйте.

$content_escape = mysql_escape_string($content); 
$insert = mysql_query("insert into $db_table_xml (url,content) values ('$url','$content_escape')" );  //content type : TEXT in MySQL 

теперь на ваше содержимое $ это не влияет

...