J'ai testé cette requête simple, et je n'obtiens qu'une page blanche.
Je précise qu'elle fonctionne dans phpmyadmin.
J'ai testé cette requête simple, et je n'obtiens qu'une page blanche.
Je précise qu'elle fonctionne dans phpmyadmin.
Et tu en conclus quoi ?
Rien, apparemment...
Et comme tu ne montres pas ton code PHP/SQL, nous non plus.
Il s'agit de cette requête-ci :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 <?php $strConnection = 'mysql:host=localhost;dbname=BIBLIOTHEQUE'; //Ligne 1 $arrExtraParam= array(PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES utf8"); //Ligne 2 $pdo = new PDO($strConnection, 'Neelix', 'kahless', $arrExtraParam); //Ligne 3; Instancie la connexion $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);//Ligne 4 $reponse = $pdo->prepare("SELECT TOME, TITRE, COUVERTURE, RESUME FROM T_TITRES WHERE COLLECTION_ID = :collection_id"); $reponse->execute(array(':collection_id' => 1)); // (pour test, mettre un id existant effectivement en Bdd) $nombre_results = $reponse->rowCount(); echo 'nombre de resultats : '.$nombre_results; ?>
Il te faut apprendre à faire toi-même le débogage de base.
1/ Je t'ai fait un exemple de try / catch pour afficher les erreurs SQL...
A mettre pour le script de connexion et celui de la requete.
2/ Et tu peux rajouter pour les erreur PHP (en début de script) :
3/ Généralement, et pour éviter de copier 10000 fois le script de connexion, on le met dans un fichier externe, qu'on appelle après avec require(...).
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 <?php error_reporting(E_ALL); // en TEST !!
Ca donne :
connexion.php
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 <?php try { $strConnection = 'mysql:host=localhost;dbname=BIBLIOTHEQUE'; //Ligne 1 $arrExtraParam = array( PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES utf8', // encodage UTF-8 PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION // activation des erreurs SQL ); $pdo = new PDO($strConnection, 'Neelix', 'kahless', $arrExtraParam); //Ligne 3; Instancie la connexion } catch(PDOException $e){ echo 'ERREUR PDO connexion'; }
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 <?php error_reporting(E_ALL); // en TEST !! require('connexion.php'); try { $reponse = $pdo->prepare("SELECT TOME, TITRE, COUVERTURE, RESUME FROM T_TITRES WHERE COLLECTION_ID = :collection_id"); $reponse->execute(array(':collection_id' => 1)); // (pour test, mettre un id existant effectivement en Bdd) $nombre_results = $reponse->rowCount(); echo 'nombre de resultats : '.$nombre_results; } catch (PDOException $e){ echo 'Erreur SQL : '. $e->getMessage().'<br/>'; die(); }
Bon ben je suis le roi des idiots.
Il suffisait de me connecter avec les bons paramètres à la base de données. Je n'étais pas connecté avec PDO.
Quand à la requête qui est à l'origine du post la voici, pleinement fonctionnelle :
Merci à tous pour votre mobilisation.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 $reponse = $pdo->prepare("SELECT T_TITRES.TOME, T_TITRES.TITRE, AUTEUR, EDITEUR, BIBLIOTHEQUE, COLLECTION, SOUSCOLLECTION FROM T_TITRES JOIN T_AUTEURS ON T_TITRES.AUTEUR_ID = T_AUTEURS.AUTEUR_ID JOIN T_EDITEURS ON T_TITRES.EDITEUR_ID = T_EDITEURS.EDITEUR_ID JOIN T_BIBLIOTHEQUE ON T_TITRES.BIBLIOTHEQUE_ID = T_BIBLIOTHEQUE.BIBLIOTHEQUE_ID jOIN T_COLLECTIONS ON T_TITRES.COLLECTION_ID = T_COLLECTIONS.COLLECTION_ID LEFT JOIN T_SOUSCOLLECTIONS ON T_TITRES.SOUSCOLLECT_ID = T_SOUSCOLLECTIONS.SOUSCOLLECT_ID WHERE T_TITRES.COLLECTION_ID = :collection_id AND T_TITRES.SOUSCOLLECT_ID IS NULL"); $reponse->execute(array(':collection_id' => $selectCollection));
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager