Warning: mysql_fetch_array():

Warning: mysql_fetch_array(): - PHP - Programmation

Marsh Posté le 03-02-2009 à 18:05:22    

Bonsoir,
 
Je suis débutante en PHP et j'ai une erreur qui me turlute depuis quelques heures... C'est d'autant plus étrange que mon code fonctionne en local mais ne fonctionne sur mon site en ligne...
 
Voici mes ligne :

Citation :

<?php
$reponse = mysql_query("SELECT pop, agemoy FROM pays WHERE pays = 'France'" );  
 
while ($donnees = mysql_fetch_array($reponse) )
 
?>  
 
    <p>
    <strong>Age moyen</strong> : <?php echo $donnees['agemoy']; ?><br />
    <strong>Population</strong> : <?php echo $donnees['pop']; ?>
   </p>
<?php
 
 
mysql_close();
?>


 
et voici l'erreur :

Citation :

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in ... on line 188

(la ligne 188 correspond à while ($donnees = mysql_fetch_array($reponse) )
 
Merci...

Reply

Marsh Posté le 03-02-2009 à 18:05:22   

Reply

Marsh Posté le 03-02-2009 à 18:08:17    

tu arrives bien a te connecter a la base ?
es-tu sur que ta base de données en ligne est correcte (toutes les tables / champs que tu utilises) ?


---------------
http://poemes.iceteapeche.com - http://www.simuland.net
Reply

Marsh Posté le 03-02-2009 à 18:35:21    

Euh, c'est tout à fait normal...
mysql_fetch_array retourne le résultat de l'exécution d'un code mysql à partir d'une ressource. Il faut donc exécuter la requête avant l'appel de mysql_fetch_quelquechose et récupérer la ressource mysql...

Code :
  1. $sql = "SELECT ...";
  2. $query = mysql_query($sql);
  3. while($datas = mysql_fetch_array($query)) // ...

Reply

Marsh Posté le 03-02-2009 à 19:19:08    

fluminis : oui je suis bien connectée à ma base, je ne rajoute pas les lignes de connexion car je travaille sur un CMS (je suis donc déjà connectée)
 
luc@s : tu sembles avoir compris mon problème, mais je ne comprends pas ton bout de code...

Reply

Marsh Posté le 03-02-2009 à 19:20:35    

tu ne comprends rien à PHP non ? Dans tous les cas, si c'est la fonction mysql_query que tu ne comprends pas, clique dessus ; c'est un lien vers la doc.

Reply

Marsh Posté le 03-02-2009 à 23:19:52    

Extrêmement débutante oui !! En fait, pour tout te dire, je ne compte pas devenir une experte du PHP, je cherche juste deux ou trois codes quand j'en ai besoin... mais maintenant que je vois toutes les possibilités qui s'ouvre avec le PHP et SQL, c'est wow !!
 
Bref, merci pour la doc, voilà mon code qui fonctionne ( :) )

Citation :

<?php
$query = sprintf("SELECT pop, agemoy, balmig FROM bddpays WHERE pays='Etats-Unis'",
    mysql_real_escape_string($pop),
    mysql_real_escape_string($agemoy),
    mysql_real_escape_string($balmig));
 
$result = mysql_query($query);
 
while ($row = mysql_fetch_assoc($result)) {
    echo $row['pop'];
    echo $row['agemoy'];
    echo $row['balmig'];
}
?>


 
 
Maintenant je cherche à mettre en forme les données extraites car avec ceci j'ai toutes mes données à la suite... Comment y insérer "Population : ici la donnée" / "Age moyen : ici la donnée" ?
 
De plus je me demande comment insérer un séparateur de millier à ma donnée "pop" par exemple (1.000.000 au lieu de 1000000).
 
Merci beaucoup pour vos éclairages

Reply

Marsh Posté le 04-02-2009 à 09:43:56    


 
@lucas> tu n'as pas lu son code dans son tout 1er post :)
$reponse = mysql_query("SELECT...
 


---------------
http://poemes.iceteapeche.com - http://www.simuland.net
Reply

Marsh Posté le 04-02-2009 à 09:45:33    

echo "Population : ".$row['pop']."<br/>Age moyen : ".$row['agemoy'];
...


---------------
http://poemes.iceteapeche.com - http://www.simuland.net
Reply

Marsh Posté le 04-02-2009 à 14:03:45    

fluminis a écrit :


 
@lucas> tu n'as pas lu son code dans son tout 1er post :)
$reponse = mysql_query("SELECT...
 


 [:prozac] exact, quelle boulet !
Alors dans ce cas, echo mysql_error(); après l'appel de mysql_query !

Reply

Marsh Posté le 04-02-2009 à 19:20:57    

Je ne comprends pas la dernière remarque, tout marche pourtant comme il faut !?!

Reply

Marsh Posté le 04-02-2009 à 19:20:57   

Reply

Marsh Posté le 06-02-2009 à 21:36:21    

Est ce que quelqu'un pourrait m'expliquer comment faire un lien sur le texte "population" dans ce code ?
 

Citation :

 <?php
$query = sprintf("SELECT pop, agemoy FROM bddpays WHERE pays='France'",
    mysql_real_escape_string($pop),
    mysql_real_escape_string($agemoy));
 
$result = mysql_query($query);
 
while ($row = mysql_fetch_assoc($result)) {
    echo "<ul><li>Population : ".$row['pop']."</li>
<li>Age moyen : ".$row['agemoy']."</li><ul>";  
}
?>


 
Merci !

Reply

Marsh Posté le 06-02-2009 à 21:46:39    

echo "<ul><li>Population : <a href=\"url.php?param=".$row['pop']."\">".$row['pop']."</a></li> ...


---------------
http://poemes.iceteapeche.com - http://www.simuland.net
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed