Envoyer vers BDD le résultat d'un passage XML

Fermé
Utilisateur anonyme - 12 août 2015 à 20:51
Pitet Messages postés 2826 Date d'inscription lundi 11 février 2013 Statut Membre Dernière intervention 21 juillet 2022 - 14 août 2015 à 12:36
Bonjour,

J'ai un blocage pour envoyer vers ma BDD le résultat d'un passage XML.
Dans un fichier XML, j'extrais le titre d'un film, les dates et la semaine de diffusion.

Ce qui donne ça :

29/07/2015
LES PROFS 2
2015-07-31 21:00:00;2015-08-01 21:00:00

VICE-VERSA
2015-07-30 21:00:00;2015-08-01 16:00:00


J'aimerai maintenant envoyer ces données dans ma BDD mais impossible...
Page blanche !

<?php
include("database.php");

// load XML document
$file = 'monfichier.xml';
$ProgrammationSalles = simplexml_load_file($file);

echo 'Nombre de semaines chargées: ' . $ProgrammationSalles->count() . '<br>';
echo date("Y-m-d");
echo '<br><hr>';

foreach ($ProgrammationSalles as $semaine) {
	//echo $semaine->horaire . '<br>';
	$semaine1 = $semaine['date'];
	echo $semaine1 . '<br>';
	foreach ($semaine->salles->salle->films->film as $film){
		//echo $film['titre'] . '<br>';
	}
	foreach ($semaine->salles->salle->films->film as $film) {
		$titre_film = $film['titre'];
		$date = $film->horaire;
		echo $titre_film . '<br>';
		echo $date . '<br><br>';
	}

	$req = $db->prepare('INSERT INTO planning(titre_film, date) VALUES($titre_film, $date)');
		$req->execute(array(
		    'titre_film' => $titre_film,
		    'date' => $date
		    ));

			echo 'OK';
	echo '<hr><br>';
};



J'ai essayé divers configurations mais rien à faire, ça ne veut pas, c'est pourquoi je botte en touche et j'utilise mon joker => Le forum !


Si certains d'entre vous ont l'illumination miraculeuse que je n'ai pas... Je suis preneur !

Merci par avance de votre aide :-)


Rom
A voir également:

3 réponses

Utilisateur anonyme
13 août 2015 à 10:55
Up ! :)
0
Pitet Messages postés 2826 Date d'inscription lundi 11 février 2013 Statut Membre Dernière intervention 21 juillet 2022 524
Modifié par Pitet le 13/08/2015 à 12:05
Salut,

Une page blanche correspond souvent à une erreur de syntaxe PHP, ton code n'est alors pas du tout exécuté.

En effet à la dernière ligne de ton script, il ne faut pas mettre de point-virgule après une accolade.

Penses à activer l'affichage des erreur PHP lorsque tu es en développement, le rapport d'erreur t'aurait donné tout de suite la réponse à ton problème ;)

Bonne journée
0
Utilisateur anonyme
14 août 2015 à 11:58
Merci de ton retour,

En fait ce qui bloque c'est l'envoi vers la BDD. Tout mon passage XML s'affiche correctement lui.


Concernant l'affichage des erreurs j'adorerai avoir cette fonctionnalité mais sous Mac avec Mamp j'ai cru comprendre que ce n'était pas aussi simple que sur Windows...


As-tu une idée sur ce qui peut bloquer dans mon code PHP pour l'envoi vers la BDD ?


Merci

Rom
0
Pitet Messages postés 2826 Date d'inscription lundi 11 février 2013 Statut Membre Dernière intervention 21 juillet 2022 524
14 août 2015 à 12:36
Effectivement tu as une erreur sur la construction de ta requête préparée : tu dois utiliser des paramètres nommées avec la syntaxe :nom-parametre.

Tu peux t'aider des exemples de cette page : https://www.php.net/manual/fr/pdo.prepare.php

Pour afficher les erreurs PHP sous MAMP : https://richardcarlier.com/article-331-afficher-les-messages-derreurs-avec-mamp.html

Pour afficher les erreurs PDO : https://www.php.net/manual/fr/pdo.error-handling.php
0