我正在尝试将XML数据插入到mysql数据库中。我遇到的问题是每个标签中都有多个id,所以我的脚本只加载第一个。如何重新编写脚本以将所有id加载到db,每行一个id。
<?php
require_once 'db-functions.inc.php' ; //custom database functions
$xmldata = 'http://api.twitter.com/1/followers/ids.xml?cursor=-1&screen_name=aplusk';
$open = fopen($xmldata, 'r');
$content = stream_get_contents($open);
fclose($open);
$xml = new SimpleXMLElement($content);
foreach ($xml->ids as $data)
{
$id = $data->id;
mysql_query("INSERT INTO data (id)
VALUES ('$id')");
};
// sample of xml I want to insert
// <id_list>
// <ids>
// <id>275168965</id>
// <id>28245852</id>
// <id>15112249</id>
// </ids>
// <next_cursor>0</next_cursor>
// <previous_cursor>0</previous_cursor>
// </id_list>
?>
答案 0 :(得分:0)
这是你应该怎么做的:
$xml = new SimpleXMLElement( file_get_contents( 'http://api.twitter.com/1/followers/ids.xml?cursor=-1&screen_name=aplusk' ) );
foreach ( $xml->ids[ 0 ] as $data )
{
echo( $data . "<br>" );
}
这一点都不直观但是id隐藏在$ xml-&gt; ids [0]中。 您的SQL语句似乎没问题。