将XML文件导入MySQL表

时间:2013-05-01 12:18:01

标签: php mysql xml import simplexml

抱歉我的英语不好。我不是母语人士。

我正在尝试使用PHP将我的XML文件导入mysql数据库,但我仍然遇到问题。

所以这是我的XML,只能在线。

我已经找到了一些解决方案,最好的解决方案在我看来:

<?php
//mysql connection
$conn = mysql_connect("localhost","username","password");
if (!$conn)
  {
  die('Connection error: ' . mysql_error());
  }

$vyberdb = mysql_select_db("motodily", $conn);
if (!$vyberdb)
  {
 die('Database error: ; ' . mysql_error());
  }

//simplexml load xml file
   $vmdily =  simplexml_load_file('http://export.tipmoto.com/inzerce_xml.php?      F=253&R=f028c0d1&MOTO=N&DILY=A');

//loop through parsed xmlfeed and print output
        foreach ($vmdily->firma->parts->part as $dilyinfo){
        printf("%u",$dily_info->id);
        printf("%s",$dily_info->name);
        printf("%u",$dily_info->price);

            foreach($dilyinfo->models->model as $model){
                printf("%s",$model->manufacturer_text);
                printf("%s",$model->model_text);
                    foreach($dilyinfo->photos->photo as $photo){
                        printf("%s",$photo->width150);
                        printf("%s",$photo->full);



//insert into databse
                               mysql_query("INSERT INTO dily (part_id, nazev, cena,    vyrobce, model, img150, imgfull) VALUES 
                               (\"$dily_info->id\",\"$dily_info->name\", \"$dily_info->price\", \"$model->manufacturer_text\", \"$model->model_text\", \"$photo->width150\", \"$photo->full\")")
                               or die(mysql_error());
//show updated records
            printf ("Records inserted: %d\n", mysql_affected_rows());
                    }
            }
        }
//close connection
 mysql_close($conn);

?>

我配置了mysql表,我的所有列都是varchar数据类型,part_id是mediumint。

从xml导入数据仍然存在问题。 ID,名称,价格行为空。仅导入图像网址。

有人知道我该如何解决这个问题。

非常感谢你! :))

0 个答案:

没有答案