Un probleme avec la fonction mysql_fetch_array()

Signaler
Messages postés
47
Date d'inscription
vendredi 29 octobre 2010
Statut
Membre
Dernière intervention
16 novembre 2012
-
Messages postés
195
Date d'inscription
vendredi 13 juin 2008
Statut
Membre
Dernière intervention
24 octobre 2011
-
bonjour tt le monde
J'obtiens cette erreur lorsque je tente de récupérer une donnée située dans ma base MySQL en local via WAMPServer.
Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given in
Avez vous déjà rencontré cette erreur ?
si oui j'ai vraiment besoin de votre aide
merci d'avance

10 réponses

Messages postés
1654
Date d'inscription
dimanche 7 septembre 2008
Statut
Membre
Dernière intervention
11 septembre 2013
16
bonsoir

c'est dit en anglais mais ce que tu mets dans ta fonction ne doit pas être un booleen donc montre ton code ... as tu

$sql="select ... ton code sql";
$query=mysql_query($sql);
$row=mysql_fetch_array($query);

Bonne programmation !
Messages postés
47
Date d'inscription
vendredi 29 octobre 2010
Statut
Membre
Dernière intervention
16 novembre 2012

bonjour
mais c'est exactement ce que je fait,et j'obtient tjrs le meme msg;
voici un bout de mon code:


$sql1="select * from minichat order by id desc limit 0,10";
$result1=mysql_query($sql1);
//affichage du resultat
while($x=mysql_fetch_array($result1))
{
echo "\n";
echo $x['pseudo'].':'.$x['message'];
echo "
";
}
La variable $result1 n'est plus un boulean,normalement il doit retourner les données de la table !!!!!!!!!!!
Messages postés
1654
Date d'inscription
dimanche 7 septembre 2008
Statut
Membre
Dernière intervention
11 septembre 2013
16
bonsoir

je sais pas mais essaie
sql1="select * from minichat order by id desc limit 10";
//comme les 10 premiers
y a peu être un problème avec la table et le champs id

Bonne programmation !
Messages postés
3708
Date d'inscription
lundi 5 juillet 2004
Statut
Membre
Dernière intervention
27 avril 2012
27
Salut,

La variable $result1 n'est plus un boulean,normalement il doit retourner les données de la table !!!!!!!!!!!

Comme tu dis ... normalement.
Il se trouve que ce n'est pas le cas et qu'à coup sur $result1 vaut false.
Il n'y a même pas de question à se poser : il faut afficher l'erreur !!!

mysql_query(...) or die(mysql_error());

Tu sauras tout de suite d'où vient le soucis.

Cordialement,

Kohntark -
Messages postés
47
Date d'inscription
vendredi 29 octobre 2010
Statut
Membre
Dernière intervention
16 novembre 2012

bonjour,
en ajoutant or die mysql_error() j'ai eu le msg suivent:
Parse error: syntax error, unexpected T_STRING in...
Messages postés
1654
Date d'inscription
dimanche 7 septembre 2008
Statut
Membre
Dernière intervention
11 septembre 2013
16
bonjour
ton code?
ça c'est une parenthése mal fermée
du genre

if(condition){

else{
}
a++



Bonne programmation !
Messages postés
47
Date d'inscription
vendredi 29 octobre 2010
Statut
Membre
Dernière intervention
16 novembre 2012

bonjour,
voila mon code

<?php
mysql_connect("localhost","root","");
mysql_select_db("membere");
if(isset($_POST['submitted']))
{
if(!empty($_POST['pseudo']) && !empty($_POST['message']))
{
$message = mysql_real_escape_string(htmlspecialchars($_POST['message']));
$pseudo = mysql_real_escape_string(htmlspecialchars($_POST['pseudo']));

$sql="insert into minicaht values ('','$pseudo','$message')";
$result=mysql_query($sql,$c);
//mysql_close();
}
else
{
echo " il faut remplir tout les champs ";
}
}
?>
<?php

$sql="select * from minicaht order by id desc limit 0,10";
$retour=mysql_query($sql);
//affichage du resultat
while($x=mysql_fetch_array($retour) or die mysql_error())
{
echo $x['pseudo'].':'.$x['message'];
echo "
";
}
mysql_close();
?>,
----
<form action="minichat.php" method="post">
<table align="center">
----, pseudo </td>
,

----

message,
,



</form>
</td></tr>
</table>

</html>
Messages postés
47
Date d'inscription
vendredi 29 octobre 2010
Statut
Membre
Dernière intervention
16 novembre 2012

toujours en attente d'une repense
Messages postés
3708
Date d'inscription
lundi 5 juillet 2004
Statut
Membre
Dernière intervention
27 avril 2012
27
toujours en attente d'une repense

Normal, ici c'est un forum d'entraide où des bénévoles passent de leur temps pour aider gratuitement.

La réponse t'est donnée par PHP lui même :
Parse error: syntax error, unexpected T_STRING in...

~"erreur de syntaxe, une chaîne de caractères a été trouvée alors que PHP attendait autre chose, dans le fichier ??? à la ligne ???"
As tu été voir la ligne que le message d'erreur t'indique et que tu ne mentionnes pas dans ton message ?
J'imagine que oui et que la ligne en question doit être celle ci :

while($x=mysql_fetch_array($retour) or die mysql_error())

die() est une fonction, et comme toutes les fonctions les paramètres qui lui sont passés doivent être entre parenthèses.

et que vient faire ce "or die()" à cet endroit la ??
Il ne sert à rien du tout, mysql_fetch_array() va déjà retourner false lorsqu'il n'y aura plus de résultat, stoppant ainsi le while.
Par contre il serait utile pour contrôler qu'il n'y a pas eu d'erreur lors de l'exécution de la requête par mysql_query().


Kohntark -
Messages postés
195
Date d'inscription
vendredi 13 juin 2008
Statut
Membre
Dernière intervention
24 octobre 2011
21
Bonjour,
$sql = "select * from minicaht order by id desc limit 0,10";
$retour = mysql_query($sql) or die('Erreur SQL :
'.$sql.'
'.mysql_error());
//affichage du resultat
while($x = mysql_fetch_array($retour))
{
  // [...]
}

C'est minicaht ou minichat ??