Page 1 sur 1

Erreur avec un UNION dans une requête ???

Posté : 18 févr. 2013, 12:08
par wwwbillgates
Bonjour, svp pouvez vous me venir en aide je n'arrive pas à trouver l'erreur dans ma requête :
$commandes_sql = $bdd->query("
						SELECT *
						FROM `cadeauxplaisir_commandes` JOIN `cadeauxplaisir_commandes_article`
						ON `cadeauxplaisir_commandes`.`id` = `cadeauxplaisir_commandes_article`.`id`
						WHERE `cadeauxplaisir_commandes`.`statut` = 5
						ORDER BY `bouille_commandes_supports`.`titre`
						UNION
						SELECT *
						FROM `bouille_commandes` JOIN `bouille_commandes_supports`
						ON `bouille_commandes`.`id` = `bouille_commandes_supports`.`id`
						WHERE `bouille_commandes`.`statut` = 5
						ORDER BY `cadeauxplaisir_commandes_article`.`article`
						");
$commandes_sql->setFetchMode(PDO::FETCH_ASSOC);

while( $commandes = $commandes_sql->fetch() )
{ Blabla...Blabla...Blabla...Blabla...Blabla...Blabla...}


L'erreur est la suivante :
Fatal error: Call to a member function setFetchMode() on a non-object in D:\PROGS\wampPHP\www\admin\templates\pages\admin_livraison.php on line 133
La ligne 133 est la dernière ligne.
Aussi je précise que si je sépare mes 2 requetes sans UNION alors cela fonctionne.

Re: Erreur avec un UNION dans une requête ???

Posté : 18 févr. 2013, 14:40
par yann18
bonjour,
votre requête fonctionne-t-elle mieux dans phpmyadmin ou au niveau de votre console mysql?
il y'a visiblement un échec à l'exécution de votre requete qui doit renvoyer FALSE.Or la méthode setFetchMode() s'attend à reçevoir en paramètre un objet de type PDOStatement.
faites un var_dump(commandes_sql->fetch()) .

Une gestion exception par laquelle la requête sera dans le bloc try donnera certainement plus de détails sur votre erreur.