Mysql_fetch_array [Résolu]

Signaler
Messages postés
6
Date d'inscription
dimanche 10 juin 2007
Statut
Membre
Dernière intervention
28 septembre 2008
-
Messages postés
6
Date d'inscription
dimanche 10 juin 2007
Statut
Membre
Dernière intervention
28 septembre 2008
-
Bonjour,

Je suis une étudiante en informatique. J'ai crée un forum sur un site et qui fonction bien mais aujourd'hui sur local je n'arrive pas affichée les données.

Si  vous pouvez m'aidez? Je vous remercie infiniment.

Alev

j'ai les messages :
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in c:\program files\easyphp1-8\www\spire_2008\espacepersonnel\liste_inscription2.php on line
8
4

J'ai le même message on ligne 63 aussi:

Voici mon requete :

mysql_connect("", "", "");
mysql_select_db("");

$counter=mysql_query("SELECT COUNT(*) as total FROM petition WHERE validation = 'oui'");

// Récupère la seule ligne du table d'enregistrements
$row = mysql_fetch_array($counter);
echo $row['total']." REACTIONS ET TEMOIGNAGES.";

?></h3></tr>

      
  
 
<?php
mysql_connect("", "", "");
mysql_select_db("");

$retour = mysql_query('SELECT * FROM petition WHERE validation="oui" ORDER BY timestamp DESC');
while ($donnees = mysql_fetch_array($retour))
{
?>

            <?php if (stripslashes($donnees['initial']) == "")
{ echo stripslashes($donnees['nom']); } else { echo stripslashes($donnees['initial']); } ?>,
        <?php if (stripslashes($donnees['initial2']) == "")
{ echo stripslashes($donnees['prenom']); } else { echo stripslashes($donnees['initial2']); } ?>,
       
       
       le <?php echo date('d/m/Y à H\hi', $donnees['timestamp']); ?>,
   

   
   
    <?php
    // On enlève les éventuels antislash PUIS on crée les entrées en HTML (
)
    $commantaire = nl2br(stripslashes($donnees['commantaire']));
    echo $commantaire;
    ?>
   

<?php
} // Fin de la boucle des news
?>
A voir également:

9 réponses

Messages postés
6
Date d'inscription
dimanche 10 juin 2007
Statut
Membre
Dernière intervention
28 septembre 2008

J'ai trouvé l'erreur. J'ai crée une deuxième fois la base et j'ai oublié un lettre dans la nom de base. C'est pour cette raison, ne fonctionné pas.

Merci beaucoup pour l'aide
Messages postés
2483
Date d'inscription
jeudi 30 novembre 2006
Statut
Membre
Dernière intervention
14 janvier 2011
17
Salut,

La requête ne s'est tout simplement pas exécutée correctement. mysql_query() retourne non pas un résultat mysql, mais false. mysql_fetch_array() ne peut prendre en argument que des résultats valides.
Pour éviter ce genre d'erreur, il FAUT vérifier que la requête s'est correctement exécutée avant d'en traiter le résultat.

<hr size="2" width="100%" />Neige

N'hésitez pas à lire la doc de PHP avant de poser des questions triviales...
Messages postés
6
Date d'inscription
dimanche 10 juin 2007
Statut
Membre
Dernière intervention
28 septembre 2008

Bonsoir,
Merci pour la réponse. La requête est fonctionné jusqu'à aujourd'hui, on a eu 159 messages dans notre forum. Mais maintenant il y a 0. Ils sont tous disparus, heureusement j'ai fait le sauf-garde. J'ai crée cet forum chez OVH. Je pense qu'on vas changer l'hébergeur. Mais local aussi j'ai cette problème.

Merci encore.
Messages postés
12303
Date d'inscription
mardi 10 février 2004
Statut
Modérateur
Dernière intervention
30 juillet 2012
39
salut

ca ne vient probablement pas d'ovh, tu dois avoir une faille quelque part...

bon, pour ton warning :

$retour = mysql_query('SELECT * FROM petition WHERE validation="oui" ORDER BY timestamp DESC');

ici, tu ne verifies pas si ta requete se passe bien ou pas (idem pour les autres)

quand tu utilises mysql_fetch_*, l'id de requete est invalide, donc la requete a echouee.

le warning te dit que ta requete echoue.
Messages postés
6
Date d'inscription
dimanche 10 juin 2007
Statut
Membre
Dernière intervention
28 septembre 2008

Merci pour la réponse,

Hier soir, j'ai  remis les messages, depuis, ils sont sur le site. 

Mais, j'ai toujours le problème sur local. Et comme vous dites les erreurs surement vienne de mon requête, mais sur le site, il ne montre pas les erreurs, temps en temps les messages sont disparaissent.

Je suis désolé mais je ne sais pas comment je peux vérifier mes requêtes.

Merci encore
Messages postés
12303
Date d'inscription
mardi 10 février 2004
Statut
Modérateur
Dernière intervention
30 juillet 2012
39
$retour = mysql_query('SELECT * FROM petition WHERE validation="oui" ORDER BY timestamp DESC') or die (mysql_error());
Messages postés
6
Date d'inscription
dimanche 10 juin 2007
Statut
Membre
Dernière intervention
28 septembre 2008

Quand j'ajoute "or die (mysql_error())" dans le code, il affiche "Aucune base n'a été sélectionné" .

merci
Messages postés
12303
Date d'inscription
mardi 10 février 2004
Statut
Modérateur
Dernière intervention
30 juillet 2012
39
bah ... t'as ta reponse non ?
Messages postés
6
Date d'inscription
dimanche 10 juin 2007
Statut
Membre
Dernière intervention
28 septembre 2008

oui, mais sur le site on vienne d'ajouter 10 messages et on est arriver 164 messages.

En fait, je vienne d'ajouter 1G de mémoire sur mon ordinateur, et après que, localement, j'ai de problème.

J'utilise aussi 1.8 EasyPHP. Peut-être que je doit tous changer.

Merci  pour aide.