Problème avec mysql_fetch_row
Fermé
emmanuelle_
Messages postés
46
Date d'inscription
mardi 2 avril 2013
Statut
Membre
Dernière intervention
10 juillet 2013
-
Modifié par emmanuelle_ le 4/06/2013 à 10:19
Dounouw13 - 7 juin 2013 à 10:31
Dounouw13 - 7 juin 2013 à 10:31
6 réponses
Utilisateur anonyme
4 juin 2013 à 10:51
4 juin 2013 à 10:51
Salut salut,
C'est plutôt avec mysql_fetch_object que tu as des soucis?
J'ai l'impression que tes deux lignes sont correctes. fait un var_dump($result); après ta lgine : $result = mysql_query($query, $link) or die ('Erreur de requête');
Vérifie que la variable est bien une ressource, sinon c'est un peu plus haut qu'il y a des problèmes.
C'est plutôt avec mysql_fetch_object que tu as des soucis?
J'ai l'impression que tes deux lignes sont correctes. fait un var_dump($result); après ta lgine : $result = mysql_query($query, $link) or die ('Erreur de requête');
Vérifie que la variable est bien une ressource, sinon c'est un peu plus haut qu'il y a des problèmes.
Utilisateur anonyme
4 juin 2013 à 11:31
4 juin 2013 à 11:31
C'est bien une ressource, fais un
Sinon poste un peu plus de code.
echo $query;pour voir la tête de la requête, et essaie de la taper directement dans mysql.
Sinon poste un peu plus de code.
emmanuelle_
Messages postés
46
Date d'inscription
mardi 2 avril 2013
Statut
Membre
Dernière intervention
10 juillet 2013
Modifié par emmanuelle_ le 4/06/2013 à 12:31
Modifié par emmanuelle_ le 4/06/2013 à 12:31
dans mes donnée j'ai un tableau qui contient des mots je voudrais récupérer dans ma base de données tout les champs quand le titre est chacun de ces mots alors mon code est comme suit:
$link = mysql_connect('localhost','root','mdp') or die('unable to connect mysql');
mysql_select_db('bdd',$link) or die('unable to connect database');
for ($i=0;$i<$nb;$i++){
foreach($tab[0] as $key=>$value){
$query = 'SELECT * FROM table1 WHERE titre = \''.mysql_real_escape_string($value).'\'AND page_namespace =0';
$result = mysql_query($query, $link) or die ('Erreur de requête');
$row = mysql_fetch_row($result));
echo $row;
}}
je ne sais pas qu'est ce ça doit etre l'erreur que j'ai faite:(
$link = mysql_connect('localhost','root','mdp') or die('unable to connect mysql');
mysql_select_db('bdd',$link) or die('unable to connect database');
for ($i=0;$i<$nb;$i++){
foreach($tab[0] as $key=>$value){
$query = 'SELECT * FROM table1 WHERE titre = \''.mysql_real_escape_string($value).'\'AND page_namespace =0';
$result = mysql_query($query, $link) or die ('Erreur de requête');
$row = mysql_fetch_row($result));
echo $row;
}}
je ne sais pas qu'est ce ça doit etre l'erreur que j'ai faite:(
Utilisateur anonyme
4 juin 2013 à 12:41
4 juin 2013 à 12:41
Ca m'étonne pas vraiment que ca ne t'affiche rien.
A la place du echo $rows; fais un var_dump($row) tu verras le détail de cette variable.
Quand tu fais myslq_fetch_object tu récupères les champs sur forme d'objet, par exemple si une de tes colonnes de la table table1 s'appelle id tu peux l'afficher en faisant :
(dans ton code tu fais un select * donc je ne connais pas les noms de tes colonnes, à adapter)
A la place du echo $rows; fais un var_dump($row) tu verras le détail de cette variable.
Quand tu fais myslq_fetch_object tu récupères les champs sur forme d'objet, par exemple si une de tes colonnes de la table table1 s'appelle id tu peux l'afficher en faisant :
echo $row->id;
(dans ton code tu fais un select * donc je ne connais pas les noms de tes colonnes, à adapter)
emmanuelle_
Messages postés
46
Date d'inscription
mardi 2 avril 2013
Statut
Membre
Dernière intervention
10 juillet 2013
4 juin 2013 à 13:08
4 juin 2013 à 13:08
quand je fais echo$ row->ID il m'affiche PHP Notice: Trying to get property of non-object in /home/mondev.php on line 13 (veut dire cette ligne) et quand je fais un var damp voisci le résultat :
bool(false)
:(
bool(false)
:(
Utilisateur anonyme
Modifié par kyser soze le 4/06/2013 à 13:14
Modifié par kyser soze le 4/06/2013 à 13:14
Ahh je m'embrouille maintenant.
Si tu veux utiliser mysql_fetch_row il faut que tu écrives echo $row[0] pour le premier élément, il ne faut pas utiliser $row->ID (c'est pour mysql_fetch_object).
pour mysql_fetch_row ça te renvoit un tableau indéxé numériquement. >Tu récupèrera avec $row[0], $row[1]...
Par contre le retour ne doit pas être false :
Il y a une double parenthèse à ta ligne :
$row = mysql_fetch_row($result));
enlève et regarde le retour
Résolu? ===> [RESOLU]
Si tu veux utiliser mysql_fetch_row il faut que tu écrives echo $row[0] pour le premier élément, il ne faut pas utiliser $row->ID (c'est pour mysql_fetch_object).
pour mysql_fetch_row ça te renvoit un tableau indéxé numériquement. >Tu récupèrera avec $row[0], $row[1]...
Par contre le retour ne doit pas être false :
Il y a une double parenthèse à ta ligne :
$row = mysql_fetch_row($result));
enlève et regarde le retour
Résolu? ===> [RESOLU]
emmanuelle_
Messages postés
46
Date d'inscription
mardi 2 avril 2013
Statut
Membre
Dernière intervention
10 juillet 2013
4 juin 2013 à 13:39
4 juin 2013 à 13:39
non il n'ya rien qui s'affiche j'ai fait cette fois-ci var_dump($row[0]) et il m'a retourné NULL, je ne sais pas pourquoi il ne retourne pas le résultat avec mysql_fetch_array
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Utilisateur anonyme
4 juin 2013 à 14:09
4 juin 2013 à 14:09
mysql_fetch_array??
Ca me perd un peu tout ça, lequel tu souhaites utiliser?
On va repartir du début, quel est ton code à l'heure actuelle? Reposte le une fois.
Ca me perd un peu tout ça, lequel tu souhaites utiliser?
On va repartir du début, quel est ton code à l'heure actuelle? Reposte le une fois.
emmanuelle_
Messages postés
46
Date d'inscription
mardi 2 avril 2013
Statut
Membre
Dernière intervention
10 juillet 2013
4 juin 2013 à 14:26
4 juin 2013 à 14:26
excuse moi c'est toujour mysql_fetch_row juste j'essaye avec des autrescomme _object ou_ array ou assoc pour savoirest ce que ça marche mais sans succès; sinon c'est toujours mysql_fetch_row et le code est toujours le meme
emmanuelle_
Messages postés
46
Date d'inscription
mardi 2 avril 2013
Statut
Membre
Dernière intervention
10 juillet 2013
4 juin 2013 à 15:08
4 juin 2013 à 15:08
oui
Utilisateur anonyme
4 juin 2013 à 15:39
4 juin 2013 à 15:39
Peux tu tester ça et me donner le retour (j'ai juste fais des echo pour comprendre ce qu'il se passe) :
$link = mysql_connect('localhost','root','mdp') or die('unable to connect mysql'); mysql_select_db('bdd',$link) or die('unable to connect database'); for ($i=0;$i<$nb;$i++){ foreach($tab[0] as $key=>$value){ $query = 'SELECT * FROM table1 WHERE titre = \''.mysql_real_escape_string($value).'\'AND page_namespace =0'; echo "Requete : ".$query."<br>"; $result = mysql_query($query, $link) or die ('Erreur de requête'); echo "Ressource : ".$result."<br>"; $row = mysql_fetch_row($result); echo "Rslt<pre>"; var_dump($row); echo "</pre>"; } }
emmanuelle_
Messages postés
46
Date d'inscription
mardi 2 avril 2013
Statut
Membre
Dernière intervention
10 juillet 2013
4 juin 2013 à 15:59
4 juin 2013 à 15:59
il affiche ça
Requete : SELECT * FROM table1 WHERE titre = 'maison 'AND page_namespace =0<br>Ressource : Resource id #173<br>Rslt<pre>bool(false)
</pre>Requete : SELECT * FROM table1 WHERE titre = 'pays'AND page_namespace =0<br>Ressource : Resource id #174<br>Rslt<pre>bool(false)
</pre>Requete : SELECT * FROM table1 WHERE titre = 'mot 'AND page_namespace =0<br>Ressource : Resource id #175<br>Rslt<pre>bool(false)
il affiche ça en $nb de fois
Requete : SELECT * FROM table1 WHERE titre = 'maison 'AND page_namespace =0<br>Ressource : Resource id #173<br>Rslt<pre>bool(false)
</pre>Requete : SELECT * FROM table1 WHERE titre = 'pays'AND page_namespace =0<br>Ressource : Resource id #174<br>Rslt<pre>bool(false)
</pre>Requete : SELECT * FROM table1 WHERE titre = 'mot 'AND page_namespace =0<br>Ressource : Resource id #175<br>Rslt<pre>bool(false)
il affiche ça en $nb de fois
emmanuelle_
Messages postés
46
Date d'inscription
mardi 2 avril 2013
Statut
Membre
Dernière intervention
10 juillet 2013
4 juin 2013 à 16:14
4 juin 2013 à 16:14
oui
emmanuelle_
Messages postés
46
Date d'inscription
mardi 2 avril 2013
Statut
Membre
Dernière intervention
10 juillet 2013
5 juin 2013 à 12:50
5 juin 2013 à 12:50
Bonjour;
finalment , c"etait autre chose car mon tableau contient des mots composés comme "maison de jean mich" et comme mon tableau commence avec ce type de données il n'affiche rien du cout je ne sais pas est ce que je peux par exemple rajouter queleque chose pour qu'il prenne en considération les mots composés dans ma requête
finalment , c"etait autre chose car mon tableau contient des mots composés comme "maison de jean mich" et comme mon tableau commence avec ce type de données il n'affiche rien du cout je ne sais pas est ce que je peux par exemple rajouter queleque chose pour qu'il prenne en considération les mots composés dans ma requête
4 juin 2013 à 11:14
alors ça veut dire quoi: mon poblème est toujours dans mysql_fetch_row