Probleme PHP\SQL SELECT FROM
tatann22
Messages postés
121
Statut
Membre
-
Zep3k!GnO Messages postés 2049 Statut Membre -
Zep3k!GnO Messages postés 2049 Statut Membre -
Bonjour,
Déja merci de porter attention a ce message :)
Je ne comprend pas lorsque je fait ce codage :
J'obtient juste
Quelqu'un comprend ? je debute désolée si mon probleme et peut etre tout con
Déja merci de porter attention a ce message :)
Je ne comprend pas lorsque je fait ce codage :
<?php
$serveur = "mysql5-4";
$nom_base = "**********";
$login = "***********";
$pwd = "*****";
// connexion à MySQL
mysql_connect ($serveur,$login,$pwd) or die ('ERREUR '.mysql_error());
// sélection de la base de données
mysql_select_db ($nom_base) or die ('ERREUR '.mysql_error());
// Requete
$requete = "SELECT 'cat,desc FROM table'";
$resultat = mysql_query ($requete);
$ligne = mysql_fetch_assoc($resultat);
echo 'le premier enregistrement a pour description '.$ligne["desc"].' et pour catégorie '.$ligne["cat"];
?>
J'obtient juste
le premier enregistrement a pour description et pour catégorie
Quelqu'un comprend ? je debute désolée si mon probleme et peut etre tout con
A voir également:
- Probleme PHP\SQL SELECT FROM
- Easy php - Télécharger - Divers Web & Internet
- Win setup from usb - Télécharger - Utilitaires
- Expert php pinterest - Télécharger - Langages
- Apply update from adb traduction ✓ - Forum Téléphones & tablettes Android
- Logiciel sql - Télécharger - Bases de données
1 réponse
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 !