我有一个api,发送到一个数据库,结果以xml格式返回,这很好,我可以将结果输出到屏幕上,没有问题。xml提要是按属性详细信息列表显示的。我要做的是使用下面的代码将结果存储在mysql数据库中。
$feeds = array('http://web.demo.net/ademo_search.xml? &upw=123456');
foreach( $feeds as $feed ) {
$xml = simplexml_load_file($feed);
foreach($xml->channel->item as $item)
{
mysql_query("INSERT INTO property1 (id, department, branch, address1)
VALUES (
'',
'".mysql_real_escape_string($item->id)."',
'".mysql_real_escape_string($item->department)."',
'".mysql_real_escape_string($item->branch)."',
'".mysql_real_escape_string($item->address1)."')");
}
}当我运行这段代码时,我不会收到错误,数据也不会被添加到数据库中。
这里有一个指向xml结构的链接,您将在我的测试中看到,我只是尝试插入前几项。
发布于 2015-07-21 18:38:39
这正是您所需要的:)
但愿你能喜欢
$feed = "test.xml";
$xml = simplexml_load_file($feed);
$arr = array();
$i = 0;
foreach($xml->houses->property as $item){
$arr[$i][] = (string) $item->id;
$arr[$i][] = (string) $item->department;
$arr[$i][] = (string) $item->branch;
$arr[$i][] = (string) $item->address->address1;
$i++;
}
var_dump($arr); // now you have them in an array .. store them in db ;)发布于 2015-07-21 16:42:55
首先:在feed数组中,有几个空格,这可能会导致解析url并返回404错误之类的问题(不确定,但请检查它)
第二:在查询中,删除'',因为您有4个列,其中有5个变量传递给它们
第三:您可能希望通过在分号之前的查询后添加MySQL来查看or die(mysql_error())错误。
第四:考虑用mysqli或PDO替换mysql。
https://stackoverflow.com/questions/31544817
复制相似问题