Petit problème de PHP
robin81
-
robin81 -
robin81 -
Bonjour,
Dans un projet PHP que je dois effectuer pour mes études, j'ai un souci. J'interroge une base de données par l'intermédiaire de requêtes SQL, et quand j'utilise le code mysql_fetch_row() pour la récupération de toutes les lignes retournées par la requête, la page web correspondant à la page contenant ce code me dit :
Warning: mysql_fetch_row(): supplied argument is not a valid MySQL result resource
Est-ce que quelqu'un connaîtrait les circonstances possibles de l'apparition fréquente de ce message qui m'empêche d'avancer dans mon travail ?
Je n'avais jamais été confronté à cette réponse de l'interface, d'autant plus que c'est loin d'être la première fois que j"interroge une base de données.
Merci d'avance !!!
Dans un projet PHP que je dois effectuer pour mes études, j'ai un souci. J'interroge une base de données par l'intermédiaire de requêtes SQL, et quand j'utilise le code mysql_fetch_row() pour la récupération de toutes les lignes retournées par la requête, la page web correspondant à la page contenant ce code me dit :
Warning: mysql_fetch_row(): supplied argument is not a valid MySQL result resource
Est-ce que quelqu'un connaîtrait les circonstances possibles de l'apparition fréquente de ce message qui m'empêche d'avancer dans mon travail ?
Je n'avais jamais été confronté à cette réponse de l'interface, d'autant plus que c'est loin d'être la première fois que j"interroge une base de données.
Merci d'avance !!!
A voir également:
- Petit problème de PHP
- Easy php - Télécharger - Divers Web & Internet
- Trier du plus petit au plus grand excel - Guide
- Petit 3 ✓ - Forum Word
- Petit 2 ✓ - Forum Windows
- Petit 9 - Forum Mail
6 réponses
fais un print ou echo de ta requete sql, puis copie la et colle la dans l'onglet SQL de ta base dans php my admin. elle est fausse et php my admin te dira pourquoi
Ok merci bcp !!
Mais maintenant je me suis rendu compte qu'une des colonnes que je voulais appeler dans la requête SQL est inconnue quand j'exécute cette requête dans PHP my admin, alors que je vois bien que cette colonne existe dans la table correspondante !!
Merci de ta réponse précédente niahoo mais j'aurais besoin que tu m'éclaires aussi là-dessus !
Merci d'avance
Mais maintenant je me suis rendu compte qu'une des colonnes que je voulais appeler dans la requête SQL est inconnue quand j'exécute cette requête dans PHP my admin, alors que je vois bien que cette colonne existe dans la table correspondante !!
Merci de ta réponse précédente niahoo mais j'aurais besoin que tu m'éclaires aussi là-dessus !
Merci d'avance
ok daonc dans php my admin, tu cliques sur ta table, puis sur l'onglet exporter
ensuite ça te propose plein de trucs, tu peux lire par curiosité, mais en bas tu fais direct exécuter, ça va t'afficher du texte que tu reconnaitrai comme des requets sql pour créer cette table puis y ajouter les valeurs, comme ça je pourrai voir comment ta table est faite.
Ensuite, tu me copies la partie de ton code qui contient ta requête qui ne marche pas.
mets moi aussi les 5 lignes de dessus et d'en dessous on sait jamais.
ensuite ça te propose plein de trucs, tu peux lire par curiosité, mais en bas tu fais direct exécuter, ça va t'afficher du texte que tu reconnaitrai comme des requets sql pour créer cette table puis y ajouter les valeurs, comme ça je pourrai voir comment ta table est faite.
Ensuite, tu me copies la partie de ton code qui contient ta requête qui ne marche pas.
mets moi aussi les 5 lignes de dessus et d'en dessous on sait jamais.
Ok dacor !!
Voilà le code pour la création de la table :
CREATE TABLE `t_match` (
`num_match` int(2) NOT NULL default '0',
`mois ` varchar(20) default NULL,
`jour` int(2) default NULL,
`num_jour` int(1) default NULL,
`nom_loc` varchar(20) default NULL,
`nom_vis` varchar(20) default NULL,
`score_loc` int(3) default NULL,
`score_vis` int(3) default NULL,
PRIMARY KEY (`num_match`)
) TYPE=MyISAM;
Et voilà le code contenant ma requête SQL :
<?PHP
$serveur="localhost";
$utilisateur="root";
$motpasse="";
$link=@mysql_connect($serveur, $utilisateur, $motpasse);
if (!$link) {
die('Connexion impossible : ' . mysql_error());}
$database="match";
$base=@mysql_select_db($database, $link);
if (!$base){
echo "<H1>echec selection base de données</H1>";
@mysql_close($link);
exit; };
$requ="SELECT mois, jour FROM t_match WHERE num_jour = 1 AND nom_loc = 'IRLANDE';";
$resultat=mysql_query($requ);
while ($lig=mysql_fetch_row($resultat)) {
$mois=$lig[0];
$jour=$lig[1]; }
if ($jour==1) { echo "<P class=Date align=center>1<SUP>er</SUP> MATCH : $jour<SUP>er</SUP> $mois<BR><BR>"; }
else { echo "<P class=Date align=center>1<SUP>er</SUP> MATCH : $jour $mois<BR><BR>"; }
?>
J'ai testé d'écrire la requête avec que le jour, et ça marche, par contre avec que le mois, ça ne marche pas.
Encore une preuve que le mois n'est pas reconnu dans la table.
Merci davance
Voilà le code pour la création de la table :
CREATE TABLE `t_match` (
`num_match` int(2) NOT NULL default '0',
`mois ` varchar(20) default NULL,
`jour` int(2) default NULL,
`num_jour` int(1) default NULL,
`nom_loc` varchar(20) default NULL,
`nom_vis` varchar(20) default NULL,
`score_loc` int(3) default NULL,
`score_vis` int(3) default NULL,
PRIMARY KEY (`num_match`)
) TYPE=MyISAM;
Et voilà le code contenant ma requête SQL :
<?PHP
$serveur="localhost";
$utilisateur="root";
$motpasse="";
$link=@mysql_connect($serveur, $utilisateur, $motpasse);
if (!$link) {
die('Connexion impossible : ' . mysql_error());}
$database="match";
$base=@mysql_select_db($database, $link);
if (!$base){
echo "<H1>echec selection base de données</H1>";
@mysql_close($link);
exit; };
$requ="SELECT mois, jour FROM t_match WHERE num_jour = 1 AND nom_loc = 'IRLANDE';";
$resultat=mysql_query($requ);
while ($lig=mysql_fetch_row($resultat)) {
$mois=$lig[0];
$jour=$lig[1]; }
if ($jour==1) { echo "<P class=Date align=center>1<SUP>er</SUP> MATCH : $jour<SUP>er</SUP> $mois<BR><BR>"; }
else { echo "<P class=Date align=center>1<SUP>er</SUP> MATCH : $jour $mois<BR><BR>"; }
?>
J'ai testé d'écrire la requête avec que le jour, et ça marche, par contre avec que le mois, ça ne marche pas.
Encore une preuve que le mois n'est pas reconnu dans la table.
Merci davance
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question