Probleme PHP\SQL SELECT FROM
Fermé
tatann22
Messages postés
80
Date d'inscription
mardi 11 mars 2008
Statut
Membre
Dernière intervention
2 mai 2013
-
1 févr. 2011 à 15:52
Zep3k!GnO Messages postés 2025 Date d'inscription jeudi 22 septembre 2005 Statut Membre Dernière intervention 18 novembre 2015 - 1 févr. 2011 à 18:00
Zep3k!GnO Messages postés 2025 Date d'inscription jeudi 22 septembre 2005 Statut Membre Dernière intervention 18 novembre 2015 - 1 févr. 2011 à 18:00
A voir également:
- Probleme PHP\SQL SELECT FROM
- Win setup from usb - Télécharger - Utilitaires
- Easy php - Télécharger - Divers Web & Internet
- Please select boot device - Forum Matériel & Système
- Blob sql ✓ - Forum Webmastering
- Sql lister les tables ✓ - Forum Programmation
1 réponse
Zep3k!GnO
Messages postés
2025
Date d'inscription
jeudi 22 septembre 2005
Statut
Membre
Dernière intervention
18 novembre 2015
200
1 févr. 2011 à 18:00
1 févr. 2011 à 18:00
Ta requête semble un peu étrange avec les simple quotes... moi je ferai plutot :
A noter que dans le code j'ai changé ta requête en supprimant les simple quotes, j'ai rajouté un order by car il faut bien savoir dans quel sens MySQL doit organiser son select si tu veux récupérer le 1er enregistrement. d'ailleurs, j'ai mis "TON_ID_UNIQUE" car je ne connais le nom du champs que tu as utilisé en primary key. J'ai aussi rajouté un limit 0, 1 afin que MySQL arrette de charger les enregistrement dès qu'il en a trouvé un car tu n'en veux qu'un et ça mange des resource plus ta BD va grossir.
J'ai rajouté le test avec un mysql_num_row car si tu fais un num_rows alors qu'il a rien trouvé, ca va pas le faire.
Pour info, ce qui est pratique pour débugger ce genre de situation c'est de regarder ce qu'il y a dans ton tableau qui est setté avec le mysql_num_rows avec un print_r. La, je pense que si tu le fais, tu verra que comme tu as écrit ton code, il est vide.
Bonne continuation !
$requete = "SELECT TON_ID_UNIQUE,cat,desc FROM table ORDER BY TON_ID_UNIQUE LIMIT 0, 1"; $resultat = mysql_query ($requete); if(mysql_num_rows($resultat) == 1 ){ $ligne = mysql_fetch_assoc($resultat); echo 'le premier enregistrement a pour description '.$ligne["desc"].' et pour catégorie '.$ligne["cat"]; }else{ echo "Il n'y a pas d'enregistrement". }
A noter que dans le code j'ai changé ta requête en supprimant les simple quotes, j'ai rajouté un order by car il faut bien savoir dans quel sens MySQL doit organiser son select si tu veux récupérer le 1er enregistrement. d'ailleurs, j'ai mis "TON_ID_UNIQUE" car je ne connais le nom du champs que tu as utilisé en primary key. J'ai aussi rajouté un limit 0, 1 afin que MySQL arrette de charger les enregistrement dès qu'il en a trouvé un car tu n'en veux qu'un et ça mange des resource plus ta BD va grossir.
J'ai rajouté le test avec un mysql_num_row car si tu fais un num_rows alors qu'il a rien trouvé, ca va pas le faire.
Pour info, ce qui est pratique pour débugger ce genre de situation c'est de regarder ce qu'il y a dans ton tableau qui est setté avec le mysql_num_rows avec un print_r. La, je pense que si tu le fais, tu verra que comme tu as écrit ton code, il est vide.
Bonne continuation !