Mysql_fetch_array

Résolu
ateber Messages postés 6 Date d'inscription dimanche 10 juin 2007 Statut Membre Dernière intervention 28 septembre 2008 - 27 sept. 2008 à 19:38
ateber Messages postés 6 Date d'inscription dimanche 10 juin 2007 Statut Membre Dernière intervention 28 septembre 2008 - 28 sept. 2008 à 16:24
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
?>

9 réponses

ateber Messages postés 6 Date d'inscription dimanche 10 juin 2007 Statut Membre Dernière intervention 28 septembre 2008
28 sept. 2008 à 16:24
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
neigedhiver Messages postés 2480 Date d'inscription jeudi 30 novembre 2006 Statut Membre Dernière intervention 14 janvier 2011 19
27 sept. 2008 à 20:58
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...
ateber Messages postés 6 Date d'inscription dimanche 10 juin 2007 Statut Membre Dernière intervention 28 septembre 2008
27 sept. 2008 à 21:46
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.
coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 44
28 sept. 2008 à 01:06
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.

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

Posez votre question
ateber Messages postés 6 Date d'inscription dimanche 10 juin 2007 Statut Membre Dernière intervention 28 septembre 2008
28 sept. 2008 à 10:42
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
coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 44
28 sept. 2008 à 13:44
$retour = mysql_query('SELECT * FROM petition WHERE validation="oui" ORDER BY timestamp DESC') or die (mysql_error());
ateber Messages postés 6 Date d'inscription dimanche 10 juin 2007 Statut Membre Dernière intervention 28 septembre 2008
28 sept. 2008 à 14:05
Quand j'ajoute "or die (mysql_error())" dans le code, il affiche "Aucune base n'a été sélectionné" .

merci
coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 44
28 sept. 2008 à 14:45
bah ... t'as ta reponse non ?
ateber Messages postés 6 Date d'inscription dimanche 10 juin 2007 Statut Membre Dernière intervention 28 septembre 2008
28 sept. 2008 à 15:14
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.
Rejoignez-nous