Problème script MySQL

Bonjour,

J'ai installer récemment apache et php qui tout deux fonctionne très bien et j'ai installer maintenant MySQL j'ai donc fait un petit script mais il y a une erreur et je ne vois pas d'ou elle peut venir voilà :

<?php
/*Programme: mysql_up.php
*Des: se connecter au serveur MySQL et affiche les paramètres.
*/
echo "<html>
<head><title>Test de MySQL5 avec PHP5</title></head>
$host="localhost";
$user="******"
$password="******";

ùcxn = mysqli_connect($host,$user,$password);
$sql="SHOW STATUS";
$result = msqli_query($cxn,$sql);
if($result == false)
{
echo "<h4>Erreur: ".mysqli_eror($cxn)";
}
else
{
/*Tableau affichant les résultats */
echo "<table border='1'>
<tr><th>Nom_Variable</th>
<tr>Valeur</th></tr>";
for($i = 0; $i < mysqli_nujm_rows($result); $i++)
echo "<tr>";
$row_array = mysqli_fetch_row($result);
for($j = 0;$j < mysqli_num_fields($result);$j++)
{
echo"<td>".$row_array[$j]."</td>\n";
}
}
echo"</table>";
}
?>
</body>

et le message d'erreur mis lorsque l'on essaie d'accéder à la page : Parse error: syntax error, unexpected T_STRING, expecting ',' or ';' in C:\serveur\Apache2\www\test-mysql.php on line 7

Cordialement
Configuration: Windows XP
Firefox 2.0.0.16

20 réponses

  1. je pense pas que ce soit obligatoire d'utiliser mysqli avec php5

    Mysqli est une extension de mysql qui est à mon avis plus performante.(perso c'est ce que j'utilise à la maison.Au boulot c'est mysql)
    Pour l'utilser il faut seulement activer cette extension sur ton serveur (le fichier php.ini il faut decommenter cette ligne extension=php_mysqli.dll,et parametrer ton mysql)

    A tu d'autres pages qui utilise mysqli et qui fonctionne ou est ce la 1ere?

    Sinon remplace la syntaxe mysqli par celle de mysql

    edit tiens jette un oeil par ici https://www.php.net/manual/fr/mysqli.configuration.php
    1. echo "<html>
      <head><title>Test de MySQL5 avec PHP5</title></head>

      vous avez oublié de fermer le guillemets, puis le ;
      dans la suite du code y'a encore quelques anomalies par contre
      1. Tu as rajoute un i a la fin de mysql_connect

        ùcxn = mysqli_connect($host,$user,$password);
        1. c'est qu'il utilise mysqli à la place de mysql ;-)
      2. bonjour ,
        je pense que c'est la qu'est l'erreur
        ùcxn = mysqli_connect($host,$user,$password);
        met plutot ça : $cnx

        for($i = 0; $i < mysqli_nujm_rows($result); $i++)
        echo "<tr>"; 

        ici il manque une {

        for($i = 0; $i < mysqli_nujm_rows($result); $i++)
        { 
        echo "<tr>";


        et les guillemets echo "<html> "
        et pense à fermer ta balise <h4>
        echo "<h4>Erreur: ".mysqli_eror($cxn) </h4>";

        @+
        1. Merci à vous tous pour vos réponses rapide j'ai fais plein d'erreur bête (je commence dans ce domaine c'est pour sa) j'ai corrigé toutes les erreurs que vous m'avez dit et il y a encore une erreur. Alors voilà à quoi ressemble le script maintenant :

          <?php
          /*Programme: mysql_up.php
          *Desc: se connecter au serveur MySQL et affiche les paramètres.
          */
          echo "<html>
          <head><title>Test de MySQL5 avec PHP5</title></head>
          <body>";
          $host="localhost";
          $user="******"
          $password="******";

          $cxn = mysqli_connect($host,$user,$password);
          $sql="SHOW STATUS";
          $result = msqli_query($cxn,$sql);
          if($result == false)
          {
          echo "<h4>Erreur: ".mysqli_eror($cxn)"</h4>";
          }
          else
          {
          /*Tableau affichant les résultats */
          echo "<table border='1'>
          <tr><th>Nom_Variable</th>
          <tr>Valeur</th></tr>";
          for($i = 0; $i < mysqli_nujm_rows($result); $i++)
          {
          echo "<tr>";
          $row_array = mysqli_fetch_row($result);
          for($j = 0;$j < mysqli_num_fields($result);$j++)
          {
          echo"<td>".$row_array[$j]."</td>\n";
          }
          }
          echo"</table>";
          }
          ?>
          </body>
          </html>

          Et le message d'erreur que sa m'affiche :

          Parse error: syntax error, unexpected T_VARIABLE in C:\serveur\Apache2\www\test-mysql.php on line 10

          Cette ligne correspond au mot de passe et c'est pourtant le bon mot de passe.

          Cordialement
          1. ah et j'oubliais,

            Pour répondre à kakashidu85
            c'est mysqli parce que j'utilise php5

            @+
            1. re ,
              tu a oublié des "

              echo "<h4>Erreur: ".mysqli_eror($cxn)"</h4>";

              echo "<h4>Erreur: ".mysqli_eror($cxn)</h4>";

              sinon ici $result = msqli_query($cxn,$sql);

              c'est $result = mysqli_query($cxn,$sql); qu'il faut ecrire pas msqli

              ;-)

              en gros verifie toujours bien ton code et pense à l'intender c'est plus facile apres pour reperer le debut des { et la fin des }
              @+
              1. re,

                tu a oublié des "

                echo "<h4>Erreur: ".mysqli_eror($cxn)"</h4>";

                echo "<h4>Erreur: ".mysqli_eror($cxn)</h4>";

                bah euh non ils y sont ^^
                sinon j'ai changer ce que tu m'a dit sa n'y fait pas il me dit toujours qu'il y a une erreur line 10 :

                http://bostak.dyndns.org/test-mysql.php

                Cordialement
                1. ce que je voulais dire c'est qu'il y a un " en trop et un . en moins
                  echo "<h4>Erreur: ".mysqli_eror($cxn)"<== ici </h4>";
                  il faut que tu mette ça
                  echo "<h4>Erreur: ".mysqli_eror($cxn)."</h4>";
                  dsl je faisait plusieurs trucs en même temps
                  1. Bon j'ai corriger les erreurs et voilà toujours une erreur line 10 :

                    voilà regarder la ==> http://bostak.dyndns.org/test-mysql.php

                    je ne vois pas d'ou sa peut venir

                    Cordialement
                    1. re, peut tu mettre ton code modifié stp.

                      modifie ca egalemenet
                      if($result == false)
                      {
                      echo "<h4>Erreur: ".mysqli_eror($cxn)"</h4>";
                      }

                      par ça
                      if(!$result )
                      {
                      echo "<h4>Erreur: ".mysqli_eror($cxn) </h4>";
                      }

                      et il te manque un ; ici
                      $user="******" ;
                      1. voilà j'ai modifié ce que tu m'as dit il n'y a plus d'erreur ligne 10 mais il me met maintenant qu'il y a une erreur ligne 12 !

                        Je vais jamais m'en sortir et quand on débute dans la programmation c'est pas évident on fait plein de petites erreurs alors voilà à quoi ressemble le script maintenant :

                        <?php
                        /*Programme: mysql_up.php
                        *Desc: se connecter au serveur MySQL et affiche les paramètres.
                        */
                        echo "<html>
                        <head><title>Test de MySQL5 avec PHP5</title></head>
                        <body>";
                        $host="localhost";
                        $user="admin";
                        $password="123456";

                        $cxn = mysqli_connect($host,$user,$password);
                        $sql="SHOW STATUS";
                        $result = msql_query($cxn,$sql);
                        if($result)
                        {
                        echo "<h4>Erreur:".mysqli_eror($cxn)."</h4>";
                        }
                        else
                        {
                        /*Tableau affichant les résultats */
                        echo "<table border='1'>
                        <tr><th>Nom_Variable</th>
                        <tr>Valeur</th></tr>";
                        for($i = 0; $i < mysqli_nujm_rows($result); $i++)
                        {
                        echo "<tr>";
                        $row_array = mysqli_fetch_row($result);
                        for($j = 0;$j < mysqli_num_fields($result);$j++)
                        {
                        echo"<td>".$row_array[$j]."</td>\n";
                        }
                        }
                        echo"</table>";
                        }
                        ?>
                        </body>
                        </html>

                        Et un grand merci à toi lewis34 pour ton aide qui m'aide énormément

                        Cordialement

                        @+
                        1. re,avant d'aller au dodo je pense avoir trouver ton lézard

                          $result = msql_query($cxn,$sql);

                          tu utilise mysqli doncta requete ce devrait etre

                          $result = mysqli_query($cxn,$sql);

                          tu lui met du mysql evidemment (tu a en plus oiblié le Y) il comprend pas ce que tu lui demande

                          si tu change ca ça devrais marcher.

                          T'affole pas au début c'est souvent des erreurs que l'on commet

                          @+
                          1. bon j'ai modifié encore mes erreurs (erreur bête !) mais sa ne fonctionne toujours pas voilà le script maintenant :

                            <?php
                            /*Programme: mysql_up.php
                            *Desc: se connecter au serveur MySQL et affiche les paramètres.
                            */
                            echo "<html>
                            <head><title>Test de MySQL5 avec PHP5</title></head>
                            <body>";
                            $host="localhost";
                            $user="admin";
                            $password="123456";

                            $cxn = mysqli_connect($host,$user,$password);
                            $sql="SHOW STATUS";
                            $result = mysqli_query($cxn,$sql);
                            if($result)
                            {
                            echo "<h4>Erreur:".mysqli_eror($cxn)."</h4>";
                            }
                            else
                            {
                            /*Tableau affichant les résultats */
                            echo "<table border='1'>
                            <tr><th>Nom_Variable</th>
                            <tr>Valeur</th></tr>";
                            for($i = 0; $i < mysqli_nujm_rows($result); $i++)
                            {
                            echo "<tr>";
                            $row_array = mysqli_fetch_row($result);
                            for($j = 0;$j < mysqli_num_fields($result);$j++)
                            {
                            echo"<td>".$row_array[$j]."</td>\n";
                            }
                            }
                            echo"</table>";
                            }
                            ?>
                            </body>
                            </html>

                            et voilà l'erreur qui s'affiche : Fatal error: Call to undefined function mysqli_connect() in C:\serveur\Apache2\www\test-mysql.php on line 12
                            1. bonjour , tu a oublié le !
                              ici if($result)

                              je t'explique.le ! siginifie que la condition est fausse si $result ne s'execute pas tu aura ton msg d'erreur.

                              Dans le cas present tu c'est l'inverse si $result s'execute tu a le msq d'erreur

                              de plus tu a une erreur ici mysqli_nujm_rows

                              je t'ai retapé un peu le code ,il fonctionne

                              <?php
                              	echo "<html>
                              	<head><title>Test de MySQL5 avec PHP5</title></head>
                              	<body>";
                              	$host="localhost";
                                     $user="admin";
                                     $password="123456";
                              	
                              	$cxn = mysqli_connect($host,$user,$pass);
                              
                              	$sql="SHOW STATUS";
                              	$result = mysqli_query($cxn,$sql);
                              		if(!$result)
                              		{
                              			echo "<h4>Erreur:".mysqli_eror($cxn)."</h4>";
                              		}
                              			else
                              		{
                              		//attribution des variables
                              			$nbrow=mysqli_num_rows($result); //nbr de données dans la table
                              			$row_array = mysqli_fetch_row($result);
                              			$nbfield=mysqli_num_fields($result); 
                              			//pense a utiliser des echos pour visualiser les valeurs que tu récuprer
                              			echo '$nbrw='.$nbrow;
                              			echo '<br/>';
                              			echo '$row_array='.$row_array[0];
                              			
                              			/*Tableau affichant les résultats */
                              			echo "<table border='1'>
                              				<th size='20'>Nom_Variable</th>
                              				<th>Valeur</th>";
                              			
                              			for($i = 0; $i <$nbrow; $i++)
                              			{
                              			$j=0;		
                              			echo"<tr>
                              				<td size='20'>".$row_array[$j]."</td>
                              				<td>".$nbfield[$i]."</td>				
                              				</tr>";				
                              					if($j<=$nbfield){$j++;};				
                              			}
                              		echo"</table>";
                              		}
                              		?>
                              	</body>
                              	</html>
                              1. encor merci à toi pour ton aide mais ton script ne fonctionne pas chez moi il m'indique une erreur fatale ligne 9 :

                                Fatal error: Call to undefined function mysqli_connect() in C:\serveur\Apache2\www\test-mysql.php on line 9

                                Cordialement
                                1. c'est bizzare car à la maison ça fonctionne ?

                                  c'est bien l'extension mysqli que tu utilise?
                                  1. j'utilise MySQL-4.1.20 et j'ai lu que quand on n'a php5 il faut mettre mysqli dans le script sinon sa ne prenait pas en charge

                                    Cordialement