我似乎不知道如何将使用 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/