PhP/MySQL: Parse error: syntax error, unexpec

Résolu
zebi331 Messages postés 78 Statut Membre -  
PhP Messages postés 1774 Statut Membre -
Bonjour,
J'ai créé une base de données de type MySQL avec une table PRODUIT.
Lorsque je souhaite récupérer des informations sur la base de données à l'aide de mysql_fetch_array, il y a une erreur:

Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in C:\wamp\www\New\pcbureau\pcbureau.php on line 56

Voici une partie de mon code:
<?php
$connexion = mysql_connect("localhost","root","");
if (!$connexion)
{
die('Impossible de se connecter: ' . mysql_error());
}
$base="ma_base";
mysql_select_db($base, $connexion);
$portable = "SELECT * FROM PRODUIT WHERE ID_THEME = 'portable';";
$cportable = mysql_query($portable,$connexion);
while ($cportable=mysql_fetch_array($portable))
{
echo"<tr>\n";
echo"<td>$cportable['PHOTO']</td>\n"; // !!! LIGNE 56 D'OU VIENT LE PROBLÈME !!!
echo"<td>$cportable['NOM']</td>\n";
echo"<td>$cportable['PRIX']</td>\n";
echo"</tr>\n";
}
mysql_close($connexion);
?>
Est-ce quelqu'un veut bien m'aider? Je vous en prie, c'est très important. Merci d'avance.
Configuration: Windows Vista
Firefox 2.0.0.14

5 réponses

  1. absurdsystem Messages postés 118 Statut Membre 51
     
    Slt

    L'erreur doit etre au niveau de ta requete meme si l'on t'indique une autre ligne .

    J'ai deja eu le cas plusieur fois et le probleme etait a chaque fois dans la requete
    0
    1. zebi331 Messages postés 78 Statut Membre 26
       
      est-ce que c'est possible que le problème vienne d'une erreur de saisie dans la base de données?
      0
    2. Alain_42 Messages postés 5413 Statut Membre 904 > zebi331 Messages postés 78 Statut Membre
       
      Tu avais une petite erreur de ; en trop mais selon certains il le faut
      et des erreurs de principe

      essayes comme ça:

      
      $connexion = mysql_connect("localhost","root","");
      if (!$connexion)
      {
      die('Impossible de se connecter: ' . mysql_error());
      }
      $base="ma_base";
      mysql_select_db($base, $connexion);
      $portable = "SELECT * FROM PRODUIT WHERE ID_THEME = 'portable'";//erreur la un ; en trop
      $cportable = mysql_query($portable,$connexion);
      while ($ligne=mysql_fetch_array($cportable))//erreur la on fait la boucle ligne par ligne sur l'extraction donc $cportable 
      {
      echo "<tr>\n";
      echo "<td>".$ligne['PHOTO']."</td>\n"; // !!! LIGNE 56 D'OU VIENT LE PROBLÈME !!!
      echo "<td>".$ligne['NOM']."</td>\n";
      echo "<td>".$ligne['PRIX']."</td>\n";
      echo "</tr>\n";
      }
      mysql_close($connexion);
      ?> 
      
      0
    3. zebi331 Messages postés 78 Statut Membre 26 > Alain_42 Messages postés 5413 Statut Membre
       
      Je ne penses pas que le problème vienne de là. J'ai essayé mais il y a toujours la même erreur!! Merci quand même.
      0
    4. zebi331 Messages postés 78 Statut Membre 26 > Alain_42 Messages postés 5413 Statut Membre
       
      Ah non excuse-moi je n'avais pas tout corriger. Cette fois-ci, j'ai une nouvelle erreur:

      Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in C:\wamp\www\New\portables\portable.php on line 53
      0
    5. Alain_42 Messages postés 5413 Statut Membre 904 > zebi331 Messages postés 78 Statut Membre
       
      Donc il y a un pb au dessus, essayes en rajoutant les traces d'erreur ainsi:

      $base="ma_base";
      mysql_select_db($base, $connexion) or die ("Pb selection base ".mysql_error());
      $portable = "SELECT * FROM PRODUIT WHERE ID_THEME = 'portable'";
      $cportable = mysql_query($portable,$connexion) or die ("Pb requette ".mysql_error());
      
      0
  2. PhP Messages postés 1774 Statut Membre 606
     
    Bsr

    Heu ce serait pas plutôt la table produit qui serait introuvable dans la base ma_base ?
    0
    1. zebi331 Messages postés 78 Statut Membre 26
       
      Désolé je suis allé voir le match (nul 0-0).
      Je vous propose de contrôler le code de création de la base de donnée:

      <?php
      			$connexion = mysql_connect("localhost","root","");
      			$base="ma_base";
      			if (!$connexion)
      			{
      				die('Impossible de se connecter: ' . mysql_error());
      			}
      			if (mysql_query("CREATE DATABASE $base",$connexion))
      			{
      				echo "Base de données créée";
      			}
      			else
      			{
      				echo "Erreur lors de la création de la base de données: " . mysql_error();
      			}
      			mysql_select_db($base, $connexion);
                                                     $produit = "CREATE TABLE produit
      			(
      				ID_PRODUIT CHAR (32) ,
      				ID_THEME CHAR (32) ,
      				NOM CHAR (32) ,
      				PHOTO CHAR (50) ,
      				PRIX DECIMAL (5,2) ,   
      				, PRIMARY KEY (ID_PRODUIT)
      			)";
      			mysql_query($produit,$connexion);
                                                      $rproduit = "
      						INSERT INTO produit (ID_PRODUIT, ID_THEME, NOM, PHOTO, PRIX) VALUES('poacer1','portable', 'Acer Aspire 7720Z', 'img/poacer1.jpg', 611.04);
      						INSERT INTO produit (ID_PRODUIT, ID_THEME, NOM, PHOTO, PRIX) VALUES('poacer2','portable', 'Acer Aspire 5920G',  'img/poacer2.jpg', 581.91);						
      						INSERT INTO produit (ID_PRODUIT, ID_THEME, NOM, PHOTO, PRIX) VALUES('poacer3', 'portable', 'Acer Aspire 7720G',  'img/poacer3.jpg',596.45 );
      						INSERT INTO produit (ID_PRODUIT, ID_THEME, NOM, PHOTO, PRIX) VALUES('poacer4', 'portable', 'Acer Aspire 8920G',  'img/poacer4.jpg',1872.00 );";
                                                      mysql_close($connexion);
      		?>

      N'hésitez pas à m'indiquer si vous voyez des erreurs!!! Je ne suis qu'un simple débutant!!
      0
  3. zebi331 Messages postés 78 Statut Membre 26
     
    Personne ne trouve d'erreur dans le code de ma base de données?
    0
  4. zebi331 Messages postés 78 Statut Membre 26
     
    Il n'y a personne pour m'aider? :(
    0
    1. Alain_42 Messages postés 5413 Statut Membre 904
       
      Tu a cree la table "produit" et tu fais ta requette sur PRODUIT

      $portable = "SELECT * FROM PRODUIT WHERE ID_THEME = 'portable'";

      essayes:
      $portable = "SELECT * FROM produit WHERE ID_THEME = 'portable'";
      0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. PhP Messages postés 1774 Statut Membre 606
     
    Bjr

    C'est quoi ce script de création à la noix ! lol

    J'ai dû changer pas mal de trucs pour qu'il daigne fonctionner !!

    Page ma_base.php :

    <?php
    	$connexion = mysql_connect("localhost","root","");
    	$base="ma_base";
    	if (mysql_query("CREATE DATABASE $base",$connexion))
    	{
    		echo "Base de données créée<br />";
    	}
    	else
    	{
    		echo "Erreur lors de la création de la base de données: " . mysql_error();
    	}
    
    	mysql_select_db($base, $connexion);
        $sql = "CREATE TABLE produit
    		(
    		ID_PRODUIT CHAR (32) ,
    		ID_THEME CHAR (32) ,
    		NOM CHAR (32) ,
    		PHOTO CHAR (50) ,
    		PRIX DECIMAL (5,2) ,   
    		 PRIMARY KEY (ID_PRODUIT)
    		)";
    	if (mysql_query($sql,$connexion))
    	{
    		echo "Table produit créée<br />";
    	}
        $sql = array();
    	$sql[]="INSERT INTO produit (ID_PRODUIT, ID_THEME, NOM, PHOTO, PRIX) VALUES('poacer1','portable', 'Acer Aspire 7720Z', 'img/poacer1.jpg', 611.04);";
    	$sql[]="INSERT INTO produit (ID_PRODUIT, ID_THEME, NOM, PHOTO, PRIX) VALUES('poacer2','portable', 'Acer Aspire 5920G',  'img/poacer2.jpg', 581.91);";						
    	$sql[]="INSERT INTO produit (ID_PRODUIT, ID_THEME, NOM, PHOTO, PRIX) VALUES('poacer3', 'portable', 'Acer Aspire 7720G',  'img/poacer3.jpg',596.45 );";
    	$sql[]="INSERT INTO produit (ID_PRODUIT, ID_THEME, NOM, PHOTO, PRIX) VALUES('poacer4', 'portable', 'Acer Aspire 8920G',  'img/poacer4.jpg',1872.00 );";
        	
    	for ($i=0; $i < count($sql); $i++)
    	{	
    		if (mysql_query($sql[$i],$connexion))
    		{
    			echo "Requête ".$i." correctement exectutée : 1 enregistrement ajouté<br />";
    		}		
    	}	
        mysql_close($connexion);
    ?>


    Page mes_produits.php :

    <?php
    $connexion = mysql_connect("localhost","root","");
    if (!$connexion)
    {
    	die('Impossible de se connecter: ' . mysql_error());
    }
    $base="ma_base";
    mysql_select_db($base, $connexion);
    $sql = "SELECT * FROM PRODUIT WHERE ID_THEME = 'portable'";
    $result = mysql_query($sql,$connexion);
    echo "<table>\n";
    while ($ligne=mysql_fetch_array($result))
    {
    	echo "<tr>\n";
    	echo "<td>".$ligne['PHOTO']."</td>\n"; 
    	echo "<td>".$ligne['NOM']."</td>\n";
    	echo "<td>".$ligne['PRIX']."</td>\n";
    	echo "</tr>\n";
    }
    echo "</table>\n";
    mysql_close($connexion);
    ?> 


    Bon dev ...
    0