rerreur ds un formulaire

Eléphant du PHP | 83 Messages

19 avr. 2006, 14:06

bonjour :lol:

ceci es le code que j'ai mit ds une de mes pages. Il y a deux formulaires.
Le premier marche mais il n'y a qu'un message qui s'affiche et le deuxieme c'est message la s'affiche:


Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /var/www/sdb/9/9/polusdemus/oko.php on line 99 :shock:

et


Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /var/www/sdb/9/9/polusdemus/oko.php on line 45 :shock:


voila l'adresse du script: http://polusdemus.free.fr/oko.php

<form action="ok.php" method="post">
                       <p align="center" class="row1 genmed cattitle">Pseudo :
                      
						   <input type="text" name="pseudo" />
                           <br />
                       </p>
                       <p align="center"><span class="row1 genmed cattitle">Message :</span>
                         <input type="text" name="message" />
                         <br />
                         <input name="submit" type="submit" value="Envoyer" />
                       </p>
                     </form>                       
                     <table width="642" height="194" border="1">
                       <tr>
                         <td width="632"><p>
                           <?php
mysql_connect("sql.free.fr", "****", "*********");
mysql_select_db("******");

// Combien d'entrées dans jeux_vidéos ?
$retour = mysql_query("SELECT COUNT(*) AS nbre_entrees FROM pol");
$donnees = mysql_fetch_array($retour);


?>
                           Il y a <?php echo $donnees['nbre_entrees']; ?> messages !
  <?php
mysql_close(); // Déconnexion de MySQL
?>
  &nbsp;</p>
                           <p>
                             <?php

// Maintenant on doit r&eacute;cup&eacute;rer les 10 derni&egrave;res entr&eacute;es de la table
// On se connecte d'abord &agrave; MySQL :
mysql_connect("sql.free.fr", "****", "*********");
mysql_select_db("******");


// On utilise la requ&ecirc;te suivante pour r&eacute;cup&eacute;rer les 10 derniers messages :
$reponse = mysql_query("SELECT * FROM pol ORDER BY ID DESC LIMIT 0,10");

// On se d&eacute;connecte de MySQL
mysql_close();

// Puis on fait une boucle pour afficher tous les r&eacute;sultats :
while ($donnees = mysql_fetch_array($reponse) )
{
?>
                           </p>
                         <p><strong><?php echo $donnees['pseudo']; ?></strong> : <?php echo $donnees['message']; ?></p></td>
  <?php
mysql_close(); // Déconnexion de MySQL
?>                       </tr>
                     </table>
<p>&nbsp;</p>
                     <p>&nbsp;</p>
                     <form action="ko.php" method="post">
                       <p align="center" class="row1 genmed cattitle">Pseudo :
                      
						   <input type="text" name="pseudo" />
                           <br />
                       </p>
                       <p align="center"><span class="row1 genmed cattitle">Message :</span>
                         <input type="text" name="message" />
                         <br />
                         <input name="submit" type="submit" value="Envoyer" />
                       </p>
                     </form>                       
                     <table width="578" height="192" border="1">
                       <tr>
                         <td width="568"><p>
                           <?php
mysql_connect("sql.free.fr", "****", "*********");
mysql_select_db("******");

// Combien d'entrées dans jeux_vidéos ?
$retour = mysql_query("SELECT COUNT(*) AS nbre_entrees FROM pol2");
$donnees = mysql_fetch_array($retour);


?>
                           Il y a <?php echo $donnees['nbre_entrees']; ?> messages !
  <?php
mysql_close(); // Déconnexion de MySQL
?>
  <?php

// Maintenant on doit r&eacute;cup&eacute;rer les 10 derni&egrave;res entr&eacute;es de la table
// On se connecte d'abord &agrave; MySQL :
mysql_connect("sql.free.fr", "****", "*********");
mysql_select_db("******");

// On utilise la requ&ecirc;te suivante pour r&eacute;cup&eacute;rer les 10 derniers messages :
$reponse = mysql_query("SELECT * FROM pol2 ORDER BY ID DESC LIMIT 0,20");

// On se d&eacute;connecte de MySQL
mysql_close();

// Puis on fait une boucle pour afficher tous les r&eacute;sultats :
while ($donnees = mysql_fetch_array($reponse) );
{
?>
                         </p>
                         <p><strong><?php echo $donnees['pseudo']; ?></strong> : <?php echo $donnees['message']; ?></p></td>
                       </tr>
                     </table>
<p>&nbsp;</p>
                     <? 
 }
 ?>
 <?
 }
 ?>
ps: c'est normal qu'il n'y est pas la partie de code pour inserer les donnée sur la bdd car c'est sur un autre fichier 8)
Modifié en dernier par polusdemus le 19 avr. 2006, 14:10, modifié 1 fois.

Modérateur PHPfrance
Modérateur PHPfrance | 6373 Messages

19 avr. 2006, 14:09

Ta requête a échoué pour une raison ou une autre, affiche les erreurs : mysql_error();

Eléphant du PHP | 83 Messages

19 avr. 2006, 14:13

les erreurs qui sont sur la page???

http://polusdemus.free.fr/oko.php[/url]

Modérateur PHPfrance
Modérateur PHPfrance | 6373 Messages

19 avr. 2006, 14:34

Non les erreurs de MySQL...

Quand on te file une fonction à utiliser si tu ne la connais pas va voir à quoi elle correspond dans la doc ! :?
En plus maintenant il y a des liens directs...

Cette erreur (PHP), signifie que le jeu de résultat que tu passes à la fonction n'est pas valide
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /var/www/sdb/9/9/polusdemus/oko.php on line 99
C'est donc que la requête a échoué : problème de syntaxe, mauvaise connexion ou autre...

Mais MySQL génère aussi des message d'erreur bien utiles donc il suffit de les afficher avec mysql_error()

===> MANUEL