Afficher les données de ma base de données
Fermé
Dodi
-
Modifié par jordane45 le 26/08/2016 à 13:50
jordane45 Messages postés 38364 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 30 décembre 2024 - 26 août 2016 à 15:11
jordane45 Messages postés 38364 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 30 décembre 2024 - 26 août 2016 à 15:11
A voir également:
- Afficher les données de ma base de données
- Effacer les données de navigation - Guide
- Reinstaller windows sans perte de données - Guide
- Comment sauvegarder toutes les données de mon téléphone - Guide
- La zone de données passée à un appel système est insuffisante - Windows 11
- Tnt base de données vide - Forum TNT / Satellite / Réception
4 réponses
arshi92
Messages postés
131
Date d'inscription
mercredi 27 juin 2012
Statut
Membre
Dernière intervention
12 octobre 2017
17
Modifié par arshi92 le 26/08/2016 à 13:21
Modifié par arshi92 le 26/08/2016 à 13:21
Bonjour.
Quel erreur reçois-tu ?
Si ta table s'appelle réellement "table" c'est surement cela qui génère l'erreur. Il s'agit d'un mot clé donc il faudra renommer ta table.
Quel erreur reçois-tu ?
Si ta table s'appelle réellement "table" c'est surement cela qui génère l'erreur. Il s'agit d'un mot clé donc il faudra renommer ta table.
jordane45
Messages postés
38364
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
30 décembre 2024
4 720
26 août 2016 à 13:52
26 août 2016 à 13:52
Bonjour,
Déjà : Attention ... tu utilises l'ancienne extension Mysql (considérée comme obsolète ! )
Je t'invite fortement à passer à mysqli ou ( perso je préfère...) la PDO.
Je t'invite à lire ceci :
- https://www.commentcamarche.net/faq/43261-php-l-extension-mysql-est-obsolete
- https://www.commentcamarche.net/faq/44117-connexion-a-une-base-avec-pdo-mysqli
Ensuite, il faut récupérer "proprement" les variables AVANT de les utiliser.
Regardes ici : https://forums.commentcamarche.net/forum/affich-37636387-php-notice-undefined-index
Puis ajoutes au début de ton script PHP la ligne de code suivante :
pour afficher les éventuelles erreurs PHP.
Et enfin... si tu as un doute sur ta requête....
fais en un ECHO puis copie/colle dans PHPMyadmin pour voir si elle fonctionne
Déjà : Attention ... tu utilises l'ancienne extension Mysql (considérée comme obsolète ! )
Je t'invite fortement à passer à mysqli ou ( perso je préfère...) la PDO.
Je t'invite à lire ceci :
- https://www.commentcamarche.net/faq/43261-php-l-extension-mysql-est-obsolete
- https://www.commentcamarche.net/faq/44117-connexion-a-une-base-avec-pdo-mysqli
Ensuite, il faut récupérer "proprement" les variables AVANT de les utiliser.
Regardes ici : https://forums.commentcamarche.net/forum/affich-37636387-php-notice-undefined-index
Puis ajoutes au début de ton script PHP la ligne de code suivante :
error_reporting(E_ALL);
pour afficher les éventuelles erreurs PHP.
Et enfin... si tu as un doute sur ta requête....
fais en un ECHO puis copie/colle dans PHPMyadmin pour voir si elle fonctionne
arshi92
Messages postés
131
Date d'inscription
mercredi 27 juin 2012
Statut
Membre
Dernière intervention
12 octobre 2017
17
26 août 2016 à 14:22
26 août 2016 à 14:22
Sur ce point, @jordane45 a raison. Mysql est obsolète et je te conseille également PDO.
arshi92
Messages postés
131
Date d'inscription
mercredi 27 juin 2012
Statut
Membre
Dernière intervention
12 octobre 2017
17
26 août 2016 à 14:40
26 août 2016 à 14:40
Avec PDO sa donnera. N'hésite pas si tu as des questions.
<?php try { $bdd = new PDO('mysql:host=localhost;dbname=ma_base;charset=utf8', 'root', 'root'); } catch (Exception $e) { die('Erreur : ' . $e->getMessage()); } //Eviter de mettre directement les valeurs dans la requete. Mettre ? à la place $donnees = $bdd->prepare("SELECT Description,Place,Image FROM table WHERE id=?"); //Mettre les valeurs dans le array suivant l'ordre des ? . Ici id = $valeur_img. $donnees->execute(array($valeur_img)); //Récupère les données après éxécution de la requete dans un tableau $reponse = $donnees->fetchAll(); //Récupère les données de la premiere ligne vu que Id unique donc une seule ligne. Numero va de 0 à l-1 $reponse = $reponse[0]; echo 'Description : '.$reponse['Description'].'<br/>'; echo 'Place : '.$reponse['Place'].'<br/>'; echo 'Image : '.$reponse['Image'].'<br/>'; ?>
jordane45
Messages postés
38364
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
30 décembre 2024
4 720
26 août 2016 à 15:11
26 août 2016 à 15:11
Si je peux me permettre....
1 - On place le code de connexion à la BDD dans un fichier à part qu'il suffit d'inclure ensuite dans les pages où on en a besoin. Ca évite de le réécrire sur chaque page du site....
2 - On pense à activer l'affichage des Erreurs PDO (désactivé par défaut)
Fichier CnxBDD.php
3 - On place la requête dans une variable (pour pouvoir en faire un Echo si besoin)
4- On utiliser la gestion des erreurs PDO (via des Try/Catch)
Ce qui donnerait donc :
1 - On place le code de connexion à la BDD dans un fichier à part qu'il suffit d'inclure ensuite dans les pages où on en a besoin. Ca évite de le réécrire sur chaque page du site....
2 - On pense à activer l'affichage des Erreurs PDO (désactivé par défaut)
Fichier CnxBDD.php
try{ $bdd =new PDO('mysql:host=localhost; dbname=mabdd; charset=utf8', 'user', 'password'); $bdd->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); $bdd->setAttribute(PDO::ATTR_DEFAULT_FETCH_MODE, PDO::FETCH_OBJ); } catch(PDOException $e) { die('Erreur : ' . $e->getMessage()); }
3 - On place la requête dans une variable (pour pouvoir en faire un Echo si besoin)
4- On utiliser la gestion des erreurs PDO (via des Try/Catch)
Ce qui donnerait donc :
<?php //affichage des erreurs php error_reporting(E_ALL); //connexion à la bdd require_once "CnxBDD.php"; //récupération "propre" des variables $valeur_img = !empty($_GET['value']) ? $_GET['value'] : 0; //traitement : $sql = "SELECT Description,Place,Image FROM table WHERE ID= :id" $variables = array(':id'=>$valeur_img); try{ $donnees = $bdd->prepare($sql); $donnees->execute($variables); //Récupère les données après éxécution de la requete dans un tableau $result= $donnees->fetchAll(); //Récupère les données de la premiere ligne vu que Id unique donc une seule ligne. Numero va de 0 à l-1 $reponse = !empty($result) ? $result[0] : NULL; }catch(Exception $e){ echo 'Erreur : ' . $e->getMessage(); echo '<br>Dans la requete :'.$sql; } if($reponse){ echo 'Description : '.$reponse['Description'].'<br/>'; echo 'Place : '.$reponse['Place'].'<br/>'; echo 'Image : '.$reponse['Image'].'<br/>'; }
26 août 2016 à 13:07
rien ne s'affiche dans l'écran, alors que quand j'écrie un script sql dans ma base de données je reçois l'élément
je pense qu'il y'a une faute dans [ selecr * from..]
26 août 2016 à 13:46