XML vers SQL

Mammouth du PHP | 620 Messages

12 août 2010, 10:24

Bonjour,
j'ai un fichier xml (énorme : il aura environ 500 enregistrements) du genre :

Code : Tout sélectionner

<?xml version='1.0' encoding='iso-8859-1' ?> <Schedule xmlns='urn:ScheduleSchema.xml' xmlns:dt='urn:schemas-microsoft-com:datatypes' xmlns:s='urn:schemas-rcsworks-com:SongSchema' xmlns:l='urn:schemas-rcsworks-com:LinkSchema' xmlns:t='urn:schemas-rcsworks-com:TrafficSchema' xmlns:p='urn:schemas-rcsworks-com:ProductSchema' xmlns:m='urn:schemas-rcsworks-com:MediaSchema' xmlns:w='urn:schemas-rcsworks-com:WebPageSchema'> <Event status="happening" startTime="10:00:11" eventType="song"> <s:Song title="MP2 Flash_gene_adulte"> <s:Artist name="flash_"> <m:Media runTime="01:56.2"/> <s:Image name=""> <m:Media runTime="01:56.2"/> </s:Image> </s:Artist> </s:Song> </Event> <Event status="happened" startTime="09:57:01" eventType="song"> <s:Song title="Time Of The Assassins"> <s:Artist name="CHARLOTTE GAINSBOURG"> <m:Media runTime="02:59.0"/> <s:Image name="" ><m:Media runTime="02:59.0"/> </s:Image> </s:Artist> </s:Song> </Event> <Event status="happened" startTime="09:54:00" eventType="song"> <s:Song title="Heatwave"> <s:Artist name="COLLINS PHIL"> <m:Media runTime="02:59.8"/> <s:Image name=""> <m:Media runTime="02:59.8"/> </s:Image> </s:Artist> </s:Song> </Event> <Event status="happened" startTime="09:50:08" eventType="song"> <s:Song title="I love your smile"> <s:Artist name="CHARLIE WINSTON"> <m:Media runTime="03:52.3"/> <s:Image name=""> <m:Media runTime="03:52.3"/> </s:Image> </s:Artist> </s:Song> </Event> <Event status="happened" startTime="09:46:28" eventType="song"> <s:Song title="Tu Peux Compter Sur Moi"> <s:Artist name="BENABAR"><m:Media runTime="03:06.3"/> <s:Image name=""><m:Media runTime="03:06.3"/> </s:Image> </s:Artist> </s:Song> </Event> <Event status="happened" startTime="09:46:28" eventType="song"> <s:Song title="Tu Peux Compter Sur Moi"> <s:Artist name="BENABAR"> <m:Media runTime="03:06.3"/> <s:Image name=""> <m:Media runTime="03:06.3"/> </s:Image> </s:Artist> </s:Song> </Event> </Schedule>
Je voudrai pouvoir enregistrer les données qui sont dans ce xml dans ma base de données.

Comment faire ?

Merci

Invité
Invité n'ayant pas de compte PHPfrance

12 août 2010, 10:54


Mammouth du PHP | 620 Messages

12 août 2010, 11:02

oui mais je tourne sous php4 et le lien qui est donnée est pour du php5.

ViPHP
ViPHP | 5462 Messages

12 août 2010, 16:37

oui mais je tourne sous php4 et le lien qui est donnée est pour du php5.
t'es herbergé chez qui ?

Mammouth du PHP | 620 Messages

13 août 2010, 13:51

bon ok.

mon xml allégé c'est :

Code : Tout sélectionner

<Schedule> <Event startTime='09:46:28' eventType='song' runTime='03:06.3'> <songTitle> <![CDATA[Tu Peux Compter Sur Moi]]> </songTitle> <artistName> <![CDATA[BENABAR]]> </artistName> </Event> </Schedule>
je fais ça pour ajouté mes données dans ma base:
<?php
mysql_connect("xxxx","xxxx","xxxx");
mysql_select_db("xxxxx");

$Schedule_xml = simplexml_load_file('essai.xml');
foreach ($Schedule_xml ->Event as $Event) {
    print "Titre: {$Event->songTitle} <br />\n";
    print "Artiste: {$Event->artistName} <hr />\n";
    mysql_query("INSERT INTO wintitres SET artist='".($Event->songTitle)."' AND title='".($Event->artistName)."'") or die("Erreur MySQL : ".mysql_error());
} 
?> 
j'ai ce message d'erreur :
Erreur SQL !INSERT INTO wintitres(ID, artist) VALUES('', BENABAR ) Unknown column 'BENABAR' in 'field list'

ViPHP
ViPHP | 5462 Messages

13 août 2010, 16:35

c'est pas AND mais virgule , ;)