IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

Requête Mysql comment faire ?


Sujet :

PHP & Base de données

  1. #1
    Futur Membre du Club
    Inscrit en
    Janvier 2007
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 7
    Points : 5
    Points
    5
    Par défaut Requête Mysql comment faire ?
    Bonjour
    J'ai écrit un programme recopié de sur le livre "PHP et Mysql pour les NULS"
    page 78 2eme partie
    J'ai vérifié et corrigé toutes les erreurs signalées lors du lancement du prog, mais le dernier signalement m'indique une erreur sur une ligne vide (la dernière !).
    je vais essayer de la publier sur ce post :
    Parse error: parse error in c:\testsphp\env requ.php on line 99
    Que puis-je faire? merci.
    Voici mon prog :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    <!-- Nom du programme : mysql_envoi.php
         Description : envoi d'une requête SQL au serveur SQL
    	               et affichage des résultats
    				   -->
    <html>
    <head>
    <title>Envoi d'une requête SQL</title>
     
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"></head><body>
    <?php
    $host="localhost";
    $user="xxxxx"; 
    $password="xxxx";
     
    /* Section d'exécution de la requête */
    if(@$_GET['form'] == "yes")
    {
      mysql_connect($host,$user,$password);
      mysql_select_db($_POST['database']);
      $query=stripSlashes($_POST['query']);
      $result=mysql_query($query);
      echo "Base de données sélectionnées : <b>{$_POST['database']}</b><br>
            Requête : <b>$query</b><h3>Résultats</h3><hr>";
    		if($result == 0)
    		echo "<b>Erreur ".mysql_errno().": ".mysql_error().
    		"</b>";
     elseif (@mysql_num_rows($result) == 0)
         echo("<b>Requête exécutée . Aucun résultat envoyé.
    	      </b><br>");
    		  else
    		  {
    		  echo "<table border='1'>
    		  <thead>
    		  <tr>";
    		  for($i = 0;$i < mysql_num_fields($result);$i++)
    		  {
    		  echo "<th>".mysql_field_name($result,$i).
    		       "</th>";
    			   }
    			   echo "  </tr>
    			   </thead>
    			   <tbody>";
    			   for ($i = 0; $i <mysql_num_rows($result); $i++)
    			   {
    			   echo "<tr>";
    			   $row = mysql_fetch_row($result);
    			   for ($j = 0;$j<mysql_num_fields($result);$j++)
    			   {
    			   echo("<td>" . $row[$j] . "</td>");
    			   }
    			   echo "</tr>";
    			   echo "</tbody>
    			         </table>";
    					 } // end else
    					 echo "
    					 <hr><br>
    					 <from action=\"{$_SERVER['PHP_SELF']}\"method=\"POST\">
    					 <input type='hiden' name='query' value='$query'>
    					 <input type='hiden' name='database'
    					        value={$_POST['database']}>
    					 <input type='submit' name=\"queryButton\"
    					        value=\"Nouvelle requête\">
    					<input type='submit' name=\"queryButton\"
    					        value=\"Editer la requête\">
    					</form>";
    					unset($form);
    					exit();
    					} // endif form=yes
     
    			/* Section that requests user input of query */
    			@$query=stripSlashes($_POST['query']);
    			if (@$_POST['queryButton'] != "Editer la requête")
    			{
    			  $query = " ";
    			  }
    			  ?>
    	<form action="<?php echo $_SERVER['PHP_SELF'] ?>?form=yes" method="POST">
    	<table>
    	<tr>
    	<td align=right><b>Indiquez le nom<br>de la base de données</br></td>
    	<td><input type="text" name="database"
    	                value=<?php echo @$_POST['database'] ?> ></td>
    					</tr>
    	                <tr>
    	 <td align="right" valign="top">
    	        <b>Saisissez la requête SQL</b></td>
    			<td><textarea name="query" cols="60"
    			             rows="10"><?php echo $query ?></textarea>
    						 </td>
    						 </tr>
    						 <tr>
    		<td colspan="2" align="center"><input type="submit"
    				     value="Envoyez la requête"></td>
    </tr>
    </table>
    </form>	
     
    </body></html>

  2. #2
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    87
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2007
    Messages : 87
    Points : 102
    Points
    102
    Par défaut
    bonsoir,

    tu t'es mélangé dans tes blocks. La ligne où il y a //end else dans le premier block php, il me semble que ce n'est pas le bon. Tu ferme en faite la boucle for. Une bonne indentation permet d'éviter de telle ennuis (si ton code est comme ci-dessus, je te conseille de l'indenter rapidement). De plus, ce genre d'erreur veut souvent désigner ce pb

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    131
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 131
    Points : 132
    Points
    132
    Par défaut
    Bonjour,
    Et la ligne 99 c'est laquelle ?
    Sinon, <from action=... à mon avis ça ne marchera pas ...

  4. #4
    Futur Membre du Club
    Inscrit en
    Janvier 2007
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 7
    Points : 5
    Points
    5
    Par défaut
    merci de votre aide !
    J'ai recopié fidèlement et fverifié plusieurs fois le texte du livre .
    la ligne 99; c'est l'après derniere !, celle après </body>
    elle est vide !

    excuse-moi mais que veux-tu dire par intender ?

  5. #5
    Membre habitué
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    131
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 131
    Points : 132
    Points
    132
    Par défaut
    Il y a pourtant forcément une coquille quelque part. Il faudrait aussi enlever les @ qui désactivent l'affichage des erreurs ...
    edit : quelques erreurs :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    <?php echo $_SERVER['PHP_SELF'] ?>
    <?php echo @$_POST['database'] ?> 
    <?php echo $query ?>
    il manque ; à la fin de chaque echo, et le @ devant $_POST['database'] ...

  6. #6
    Futur Membre du Club
    Inscrit en
    Janvier 2007
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 7
    Points : 5
    Points
    5
    Par défaut
    bien je vais corriger ces lignes, merci !

  7. #7
    Membre averti
    Homme Profil pro
    Consultant ERP
    Inscrit en
    Mai 2006
    Messages
    257
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Consultant ERP
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2006
    Messages : 257
    Points : 318
    Points
    318
    Par défaut
    Si l'erreur se produit dans une ligne vide, la dernière sûrement c'est que tu as oubliè de fermer une condition ça m'est arrivé aussi.
    Essai ce code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    <!-- Nom du programme : mysql_envoi.php
         Description : envoi d'une requête SQL au serveur SQL
    	               et affichage des résultats
    				   -->
    <html>
    <head>
    <title>Envoi d'une requête SQL</title>
     
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"></head><body>
    <?php
    $host="localhost";
    $user="xxxxx"; 
    $password="xxxx";
     
    /* Section d'exécution de la requête */
    if(@$_GET['form'] == "yes")
    {
      mysql_connect($host,$user,$password);
      mysql_select_db($_POST['database']);
      $query=stripSlashes($_POST['query']);
      $result=mysql_query($query);
      echo "Base de données sélectionnées : <b>{$_POST['database']}</b><br>
            Requête : <b>$query</b><h3>Résultats</h3><hr>";
    		if($result == 0)
                      {
    		echo "<b>Erreur ".mysql_errno().": ".mysql_error().
    		"</b>";
                      }
    }
     elseif (@mysql_num_rows($result) == 0)
           {
         echo("<b>Requête exécutée . Aucun résultat envoyé.
    	      </b><br>");
           }
    		  else
    		  {
    		  echo "<table border='1'>
    		  <thead>
    		  <tr>";
    		  for($i = 0;$i < mysql_num_fields($result);$i++)
    		  {
    		  echo "<th>".mysql_field_name($result,$i).
    		       "</th>";
    			   }
    			   echo "  </tr>
    			   </thead>
    			   <tbody>";
    			   for ($i = 0; $i <mysql_num_rows($result); $i++)
    			   {
    			   echo "<tr>";
    			   $row = mysql_fetch_row($result);
    			   for ($j = 0;$j<mysql_num_fields($result);$j++)
    			   {
    			   echo("<td>" . $row[$j] . "</td>");
    			   }
    			   echo "</tr>";
    			   echo "</tbody>
    			         </table>";
    					 } // end else
    					 echo "
    					 <hr><br>
    					 <from action=\"{$_SERVER['PHP_SELF']}\"method=\"POST\">
    					 <input type='hiden' name='query' value='$query'>
    					 <input type='hiden' name='database'
    					        value={$_POST['database']}>
    					 <input type='submit' name=\"queryButton\"
    					        value=\"Nouvelle requête\">
    					<input type='submit' name=\"queryButton\"
    					        value=\"Editer la requête\">
    					</form>";
    					unset($form);
    					exit();
    					} // endif form=yes
    					
    			/* Section that requests user input of query */
    			@$query=stripSlashes($_POST['query']);
    			if (@$_POST['queryButton'] != "Editer la requête")
    			{
    			  $query = " ";
    			  }
    			  ?>
    	<form action="<?php echo $_SERVER['PHP_SELF'] ?>?form=yes" method="POST">
    	<table>
    	<tr>
    	<td align=right><b>Indiquez le nom<br>de la base de données</br></td>
    	<td><input type="text" name="database"
    	                value=<?php echo @$_POST['database'] ?> ></td>
    					</tr>
    	                <tr>
    	 <td align="right" valign="top">
    	        <b>Saisissez la requête SQL</b></td>
    			<td><textarea name="query" cols="60"
    			             rows="10"><?php echo $query ?></textarea>
    						 </td>
    						 </tr>
    						 <tr>
    		<td colspan="2" align="center"><input type="submit"
    				     value="Envoyez la requête"></td>
    </tr>
    </table>
    </form>	
     
    </body></html>
    Bon je n'ai pas pu connaitre la structure de tes boucles et des blocs if. Mais je crois que le problême vient sûrement de là.
    http://fr.obedev.com/: Un blog sur le développement web et mobile.

Discussions similaires

  1. Réponses: 13
    Dernier message: 22/06/2010, 16h08
  2. [C# 2.0/Odbc/MySql] Comment faire un insert ?
    Par FraktaL dans le forum Accès aux données
    Réponses: 3
    Dernier message: 06/07/2006, 17h27
  3. Requêtes web: comment faire ?
    Par requin01 dans le forum Décisions SGBD
    Réponses: 3
    Dernier message: 21/05/2006, 20h08
  4. [MySQL] comment faire sans les vues ?
    Par phpaide dans le forum Langage SQL
    Réponses: 2
    Dernier message: 21/04/2006, 13h32
  5. [MySQL] Comment faire des sous-totaux ?
    Par renaud26 dans le forum Langage SQL
    Réponses: 6
    Dernier message: 03/02/2006, 15h56

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo