php - 如何使用 PHP 将动态生成的 XML 文档保存到数据库中?

标签 php mysql xml

我似乎不知道如何将使用 DOM 对象生成的 XML 文件保存到我的数据库中。

这是我的 PHP:

$xmlraw = $doc->saveXML();

$xmlQuery=sprintf("INSERT INTO xmlTestTable (XMLString) VALUES ('%s')", $xmlraw); 

$result = mysql_query($xmlQuery);

我也试过:

$xmlQuery=sprintf("INSERT INTO xmlTestTable (XMLString) VALUES ('%s')", $doc->saveXML()); 

$result = mysql_query($xmlQuery);

$doc 是我创建的 XML 文档。

执行此操作时,我能够在浏览器中看到 XML 输出:

echo $doc->saveXML();

没有输出错误或任何...

我正在注入(inject)的 MySQL 列是“长文本”

提前致谢!

最佳答案

首先,您需要使用 saveXML() 方法获取 XML 字符串:

$xmlraw = $doc->saveXML();


然后,你需要插入这个值;但你必须正确地转义!

转义字符串以将其注入(inject) SQL 查询是您使用 API 提供的特定函数来执行的操作,该函数由您用于连接到数据库的 API 提供——就像您使用 mysql_* 函数,你将使用 mysql_real_escape_string()

$escapedString = mysql_real_escape_string($xmlraw);


现在,您有了可以注入(inject)到 SQL 查询中的字符串:

$query = "INSERT INTO xmlTestTable (XMLString) VALUES ('$escapedString')";

当然,您也可以像以前一样使用 sprintf。

关于php - 如何使用 PHP 将动态生成的 XML 文档保存到数据库中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5186750/

相关文章:

javascript - Node JS 的 SQL 外部化(XML 解析)

php - DQL复杂查询

php - php错误处理错误(文件上传)

mysql - 查找失败的值 sql join on

mysql - 两列视为一列 SQL

android - 无法扩充 xml,android.content.res.Resources$NotFoundException

php - 数据库查询失败 您的 SQL 语法有误;

php - 用户名/电子邮件垃圾邮件列表?

java - spring boot 无法使用 Intellij 连接 MYSQL 数据库

android - imagebutton 中 setEnabled 的问题