Chat php

voila maintenant je fait un chat en php (encore pour l'ecole) et j'ai une erreur; les données s'ajoutent bien mais je n'arrive pas a les affichés.
<?php
$connexion=mysql_connect("localhost","root","");
$testbase=mysql_select_db("rencontre");
$req = "SELECT * FROM chat ORDER BY ID DESC LIMIT 0,30";
$result = mysql_query($req);
mysql_close();
while ($val = mysql_fetch_array($result))
{
echo "<b>", $val["pseudo"],"</b>";
echo " : ";
echo $val["message"];
echo "<br />";
}
?>
l'erreur:
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in c:\program files\easyphp1-7\www\rencontre\chat.php on line 49

bien sur essayer tj de repondre a mes autres probleme
un grand merci a tous

22 réponses

  1. Contributeur
     $result = mysql_query($req); 
    

    Et si tu passais ta variable de connexion à la base dans ton mysql_query ?
    0
    1. desoler je ne comprend pas comment vous me dites.
      MERCI
      0
      1. Contributeur
        Il fait que tu remplace :
         $result = mysql_query($req);
        

        par :
        $result = mysql_query($req, $testbase); 
        
        0
        1. pq faire passer la variable de test? je pige pas et ca ne marcheras pas.
          0
          1. Contributeur
            Non c pas ca :
            Quand tu veux faire une requete sur une base, tu dois en premier lieu te connecter à cette base, et c'est ce que tu fais en mettant le code suivant :
             $connexion=mysql_connect("localhost","root","");
            // Tu viens de faire une connexion à la base.
            // Maintenant tu selectionne la base de donnée sur laquelle
            // tu souhaite travailler :
             mysql_select_db("rencontre",$connexion);
            

            Tu as maintenant une varaible de connexion ($connexion) et as selectionné la base "rencontre". Quand tu fais des requetes sur cette base, tu dois y joindre la variable de connexion "$connexion" qui fais le lien entre ton code et la base SQL que tu viens d'ouvrir.
            Ainsi quand tu fais une requete, tu ajoute :
            $result = mysql_query($req, $connexion);
            

            Maintenant, si ta base existe, ca devrait marcher.
            0
            1. MERCI
              j'ai appris plus en 2jours que dans l'année pour php.
              bon maintenant vais essayer
              0
              1. je veux vraiment pas etre chiant mais,

                c'e<?php
                $connexion=mysql_connect("localhost","root","");
                $testbase=mysql_select_db("rencontre");
                mysql_select_db("rencontre", $connexion);
                $req = "SELECT * FROM chat ORDER BY ID DESC LIMIT 0,30";
                $result = mysql_query($req, $connexion);

                mysql_close();
                while ($val = mysql_fetch_array($result))
                {
                echo "<b>", $val["pseudo"],"</b>";
                echo " : ";
                echo $val["message"];
                echo "<br />";
                }
                ?>st bien ce que vous m'avez dit?
                ben j'ai une erreur
                Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in c:\program files\easyphp1-7\www\rencontre\chat.php on line 49
                0
                1. Contributeur
                  Met ca et dit moi ce que ca donne :

                  <?php
                  $connexion = mysql_connect("localhost","root","") OR die("pb connexion mysql");
                  mysql_select_db("rencontre",$connexion) OR die("pb selection base");
                  $req = "SELECT * FROM chat ORDER BY ID DESC LIMIT 0,30";
                  $result = mysql_query($req, $connexion);
                  
                  mysql_close($connexion);
                  
                  while ($val = mysql_fetch_array($result))
                  {
                  echo "<b>". $val['pseudo']."</b> : ".$val['message']."<BR>";
                  
                  }
                  ?>
                  
                  0
                  1. tj pareil
                    Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in c:\program files\easyphp1-7\www\rencontre\chat.php on line 51
                    0
                    1. Contributeur
                      Alors met cette requete à la place de la tienne :
                      $req = "SELECT * FROM chat ORDER BY ID";
                      
                      0
                      1. Contributeur
                        Et puis au passage donne moila description de ta table "rencontre"
                        0
                        1. rencontre n'est pas une table mais la base de données; la table c'est chat
                          rencontre est ma base de données
                          0
                          1. Contributeur
                            oui, dsl, ben une desciption de "Chat", c'est à dire tous les champs qu'elle comprend.
                            0
                            1. pseudo, message
                              c'est tout ce que cette table comprend
                              aucune cle primaire
                              et tout les deux des varchar
                              et ca ne marche tj ca me déprime ce truc!
                              en plus y a plein d'autre truc qui marche pas (demande de mot de passe, lor d'une inscription: remplissage de combo box)
                              0
                              1. Contributeur
                                Ahhh, c'est donc, ca !!!
                                Mais il te faut mettre des clés primaire, sinon comment veut tu retrouver tes élément dans ta table quand tu fais des requetes !!
                                En plus dans ton code tu fais un :
                                select * from chat order by id
                                

                                Mais si tu n'a pas d'id, ce n'est pas la peine de chercher plus loin !
                                Vu ce que tu dit, je te conseil de revoir tes cours...

                                Pour ce qui est de ta table chat, met un id en autoincrement (INT).
                                0
                                1. ben y nous faudrai un meilleur prof.
                                  non sans rire merci
                                  et est ce que ca pourrait etre la meme raison pour laquel met mot de passe ne fonctionne pas? pourtant j'ai dejà une clef primaire dans cette autre table. je peux en mettre plusieur?
                                  0
                                  1. merci mon chat marche impecablement petit plus enfin si vous voulez m'expliquer vite fait. si je veux ajouter des couleurs? chacun a le chois d'ecrire d'une couleur.
                                    je met quoi comme code et ou?
                                    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
                                    <html>
                                    <head>
                                    <title>Bienvenu dans le chat</title>
                                    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
                                    </head>
                                    <body>
                                    <?php
                                    if (isset($_POST['pseudo']) && isset($_POST['message']))
                                    {
                                    if ($_POST['pseudo'] !=null && $_POST['message'] !=null)
                                    {
                                    $connexion=mysql_connect("localhost","root","");
                                    $testbase=mysql_select_db("rencontre");
                                    $pseudo=htmlentities($_POST['pseudo'],ENT_QUOTES);
                                    $msg=htmlentities($_POST['message'],ENT_QUOTES);
                                    $req="INSERT INTO chat (pseudo,message) VALUES('$pseudo','$msg')";
                                    $result=mysql_query($req);
                                    mysql_close();
                                    }
                                    else
                                    {
                                    echo "probléme d'ajout";
                                    }
                                    }
                                    ?>
                                    <form name="form1" id="form1" method="post" action="<?php $_SERVER['PHP_SELF']; ?>">

                                    <table width="80%" border="0" cellspacing="0" cellpadding="0">
                                    <tr>
                                    <td width="18%" height="24"> PSEUDO </td>
                                    <td widht="82%"> <input name="pseudo" type="text" id="pseudo" /></td>
                                    </tr>
                                    <tr>
                                    <td> Message </td>
                                    <td><input name="message" type="text" id="message" size="100" /></td>
                                    </tr>
                                    </table>
                                    <p>
                                    <input type="submit" name="cmdok" value="Ajouter?"/>
                                    </p>
                                    </form>
                                    <?php
                                    $connexion = mysql_connect("localhost","root","") OR die("pb connexion mysql");
                                    mysql_select_db("rencontre",$connexion) OR die("pb selection base");
                                    $req = "SELECT * FROM chat ORDER BY ID";
                                    $result = mysql_query($req, $connexion);

                                    mysql_close($connexion);

                                    while ($val = mysql_fetch_array($result))
                                    {
                                    echo "<b>". $val['pseudo']."</b> : ".$val['message']."<BR>";
                                    }
                                    ?>

                                    </body>
                                    </html>

                                    MERCI MILLE FOIS
                                    0
                                    1. Contributeur
                                      C'est exactement la même chose que tout à l'heure :
                                      <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
                                      <html>
                                      <head>
                                      <title>Bienvenu dans le chat</title>
                                      <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
                                      </head>
                                      <body>
                                      <?php
                                      if (isset($_POST['pseudo']) && isset($_POST['message']))
                                      {
                                      	if ($_POST['pseudo'] != "" && $_POST['message'] != "")
                                      	{
                                      		$connexion=mysql_connect("localhost","root","") OR die("pb connexion mysql");
                                      		mysql_select_db("rencontre",$connexion) OR die("pb selection base");
                                      		$pseudo=htmlentities($_POST['pseudo'],ENT_QUOTES);
                                      		$msg=htmlentities($_POST['message'],ENT_QUOTES);
                                      		$req="INSERT INTO chat (id,pseudo,message) VALUES('','".$pseudo."','".$msg."')";
                                      		$result=mysql_query($req,$connexion);
                                      		mysql_close();
                                      	}
                                      	else
                                      	{
                                      		echo "probléme d'ajout";
                                      	}
                                      }
                                      ?>
                                      <form name="form1" id="form1" method="post" action="<?php $_SERVER['PHP_SELF']; ?>">
                                      
                                      <table width="80%" border="0" cellspacing="0" cellpadding="0">
                                      <tr>
                                      <td width="18%" height="24"> PSEUDO </td>
                                      <td widht="82%"> <input name="pseudo" type="text" id="pseudo" /></td>
                                      </tr>
                                      <tr>
                                      <td> Message </td>
                                      <td><input name="message" type="text" id="message" size="100" /></td>
                                      </tr>
                                      </table>
                                      <p>
                                      <input type="submit" name="cmdok" value="Ajouter?"/>
                                      </p>
                                      </form>
                                      <?php
                                      	$connexion = mysql_connect("localhost","root","") OR die("pb connexion mysql");
                                      	mysql_select_db("rencontre",$connexion) OR die("pb selection base");
                                      	$req = "SELECT * FROM chat ORDER BY ID";
                                      	$result = mysql_query($req, $connexion);
                                      
                                      	mysql_close($connexion);
                                      
                                      	while ($val = mysql_fetch_array($result))
                                      	{
                                      		echo "<b>". $val['pseudo']."</b> : ".$val['message']."<BR>";
                                      	}
                                      ?>
                                      
                                      </body>
                                      </html> 
                                      
                                      0
                                      1. tout ca marche (enfin le mot de passe je suis pas loin d'y arriver je pense) et pour les couleurs je rajoute ou et quoi?
                                        0
                                        1. tant qu'on y est regardez le code du mot de passe;
                                          <?php

                                          if(isset($_POST['cmdok']))
                                          {
                                          $code=$_POST['code'];
                                          $pseudo=$_POST['pseudo'];
                                          $bpseudo=mysql_query("SELECT id FROM inscrit where pseudo = '$pseudo' ");
                                          $bcode=mysql_query("SELECT id FROM inscrit where code = '$code' ");

                                          if ($bpseudo=$bcode)
                                          {
                                          echo "ok";
                                          }
                                          else
                                          {
                                          echo "veuillez recommencer!";
                                          echo "<br> ou Inscrivez-vous </br>";
                                          }
                                          }
                                          ?>
                                          c'est le truc connexion qu'il me manque?
                                          0
                                          • 1
                                          • 2