php mysql simplexml_load_string() 错误 mysql_escape_string

发布于 2024-11-04 20:41:17 字数 678 浏览 0 评论 0原文

我将 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 84

Notice: Trying to get property of
non-object in
D:\mkw\dev\Web\PHPnow-1.5.6\htdocs\yt2\common.php
on line 146

Warning: Invalid argument supplied for
foreach() in
D:\mkw\dev\Web\PHPnow-1.5.6\htdocs\yt2\common.php
on line 146

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

圈圈圆圆圈圈 2024-11-11 20:41:17

此错误意味着它不是有效的 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 

现在你的 $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.

$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 

now your $contents is not affected

怕倦 2024-11-11 20:41:17

在我看来,您的变量 $content 包含影响字符串终止的单引号。如果是这种情况,您可以这样做:

$content= addslashes($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:

$content= addslashes($content);

Then you write this into your record.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文