Un probleme avec la fonction mysql_fetch_array()

soukaouta Messages postés 39 Date d'inscription vendredi 29 octobre 2010 Statut Membre Dernière intervention 16 novembre 2012 - 29 juil. 2011 à 21:13
jreaux62 Messages postés 195 Date d'inscription vendredi 13 juin 2008 Statut Membre Dernière intervention 24 octobre 2011 - 6 août 2011 à 17:19
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

cod57 Messages postés 1653 Date d'inscription dimanche 7 septembre 2008 Statut Membre Dernière intervention 11 septembre 2013 19
29 juil. 2011 à 23:17
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 !
0
soukaouta Messages postés 39 Date d'inscription vendredi 29 octobre 2010 Statut Membre Dernière intervention 16 novembre 2012
30 juil. 2011 à 17:07
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 !!!!!!!!!!!
0
cod57 Messages postés 1653 Date d'inscription dimanche 7 septembre 2008 Statut Membre Dernière intervention 11 septembre 2013 19
30 juil. 2011 à 20:19
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 !
0
kohntark Messages postés 3705 Date d'inscription lundi 5 juillet 2004 Statut Membre Dernière intervention 27 avril 2012 30
31 juil. 2011 à 23:10
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 -
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
soukaouta Messages postés 39 Date d'inscription vendredi 29 octobre 2010 Statut Membre Dernière intervention 16 novembre 2012
3 août 2011 à 17:25
bonjour,
en ajoutant or die mysql_error() j'ai eu le msg suivent:
Parse error: syntax error, unexpected T_STRING in...
0
cod57 Messages postés 1653 Date d'inscription dimanche 7 septembre 2008 Statut Membre Dernière intervention 11 septembre 2013 19
3 août 2011 à 19:51
bonjour
ton code?
ça c'est une parenthése mal fermée
du genre

if(condition){

else{
}
a++



Bonne programmation !
0
soukaouta Messages postés 39 Date d'inscription vendredi 29 octobre 2010 Statut Membre Dernière intervention 16 novembre 2012
4 août 2011 à 17:23
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>
0
soukaouta Messages postés 39 Date d'inscription vendredi 29 octobre 2010 Statut Membre Dernière intervention 16 novembre 2012
5 août 2011 à 19:37
toujours en attente d'une repense
0
kohntark Messages postés 3705 Date d'inscription lundi 5 juillet 2004 Statut Membre Dernière intervention 27 avril 2012 30
6 août 2011 à 11:14
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 -
0
jreaux62 Messages postés 195 Date d'inscription vendredi 13 juin 2008 Statut Membre Dernière intervention 24 octobre 2011 32
6 août 2011 à 17:19
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 ??
0
Rejoignez-nous