Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/271.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 将XML数据存储到MySQL_Php_Mysql_Xml - Fatal编程技术网

Php 将XML数据存储到MySQL

Php 将XML数据存储到MySQL,php,mysql,xml,Php,Mysql,Xml,我有一个XML文件。我想将XML文件中的所有数据保存到数据库中 XML的文件结构如下 <STORY> <BYLINE>abc</BYLINE> <STORYID>123456</STORYID> </STORY> 我的数据库里什么都没有。所有值均为空白。 我哪里做错了? 我觉得这条线有问题 $res = $xpath->query("//STORY/"); 我想讲述数据,即ABC和12345从XML文件到数据库中的

我有一个XML文件。我想将XML文件中的所有数据保存到数据库中

XML的文件结构如下

<STORY>
<BYLINE>abc</BYLINE>
<STORYID>123456</STORYID>
</STORY>

我的数据库里什么都没有。所有值均为空白。 我哪里做错了? 我觉得这条线有问题

$res = $xpath->query("//STORY/");

我想讲述数据,即ABC和12345从XML文件到数据库中的表的故事

我真的不知道您的问题是什么,但假设您发布的代码不符合您的要求,我注意到的一件事是插入了记录:

$sql12="insert into equitymarketnews values('$byline','$storyid','$pubdate','$author','$cat','$subcat','$titleline','$subtitleline,'$storymain','$flag')"; 
mysql_query($sql12);
它不应该在您的
foreach
循环中吗?否则,您将无法在数据库中获取任何内容

我认为应该是这样的:

foreach($res as $node){
        $result = array();
        $byline = mysql_real_escape_string($node->getElementsByTagName("BYLINE")->item(0)->nodeValue);
        $storyid = mysql_real_escape_string($node->getElementsByTagName("STORYID")->item(0)->nodeValue);
        $sql12="insert into equitymarketnews values('$byline','$storyid')"; 
        mysql_query($sql12);
}

实际上,您可以直接使用mysql客户端导入XML数据。我没有太多的经验向您提供代码示例,但是有很多关于它的文档

基本上,您可以这样做:

LOAD XML LOCAL INFILE 'address.xml' INTO TABLE quitymarketnews ROWS IDENTIFIED BY '<STORY>';
将XML本地填充“address.XML”加载到由“”标识的表quitymarketnews行中;

好的,但你的问题是什么?我的数据库中什么都没有,我哪里做错了?那么,一些调试是必要的。您是否尝试输出任何值?提取有效吗?当您输出查询字符串时,它包含哪些值?是的,我阅读了您的编辑,但是如果您文章中的代码是您实际使用的代码,那么插入必须在您的foreach循环中。否则,将分配变量,但不会为每条记录调用插入。我还编辑了我的答案。
LOAD XML LOCAL INFILE 'address.xml' INTO TABLE quitymarketnews ROWS IDENTIFIED BY '<STORY>';