Вставьте простой список XML в mySQL - PullRequest
0 голосов
/ 31 декабря 2011

Я пытаюсь вставить данные XML в базу данных mysql.У меня проблема в том, что в каждом теге есть несколько идентификаторов, поэтому мой скрипт загружает только первый.Как мне переписать мой скрипт для загрузки всех идентификаторов в базу данных, по одному идентификатору на строку.

<?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>

 ?>

1 Ответ

0 голосов
/ 07 января 2012

Вот как вы должны это сделать:

$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>" );
}

Это совсем не интуитивно понятно, но идентификаторы скрываются внутри $ xml-> ids [0]. Ваш оператор SQL выглядит нормально.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...