php mysql simplexml_load_string() 错误 mysql_escape_string
我将 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-load-string]: 实体:第 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行
I save a XML file content in MySQL database with:
$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);
it returns an error:
Warning: simplexml_load_string()
[function.simplexml-load-string]:
Entity: line 361: parser error :
AttValue: ' expected in
D:\mkw\dev\Web\PHPnow-1.5.6\htdocs\yt2\common.php
on line 84Notice: Trying to get property of
non-object in
D:\mkw\dev\Web\PHPnow-1.5.6\htdocs\yt2\common.php
on line 146Warning: Invalid argument supplied for
foreach() in
D:\mkw\dev\Web\PHPnow-1.5.6\htdocs\yt2\common.php
on line 146
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
此错误意味着它不是有效的 xml,请检查 xml 文件以查看是否有任何问题。
查找第361行,可能有特殊字符或类似错误
编辑。
显然,当您转义 xml 时,您在 xml 中引入了无效字符,
请使用。
现在你的 $contents 不受影响
This error means it is not valid xml, inspect the xml file to see if there is anything wrong with it.
Look for line 361 in it, there is probably special character or similar error
Edit.
Obviously when you escape the xml, you introduced invalid characters in your xml,
use.
now your $contents is not affected
在我看来,您的变量 $content 包含影响字符串终止的单引号。如果是这种情况,您可以这样做:
然后将其写入您的记录中。
Looks to me like your variable $content contains single quotes that are affecting the termination of the string. This is what your can do if this is the case:
Then you write this into your record.