PhP/MySQL: Parse error: syntax error, unexpec

Résolu/Fermé
zebi331 Messages postés 71 Date d'inscription mercredi 21 mai 2008 Statut Membre Dernière intervention 15 mai 2010 - 9 juin 2008 à 15:52
PhP Messages postés 1767 Date d'inscription lundi 11 décembre 2000 Statut Membre Dernière intervention 23 décembre 2009 - 10 juin 2008 à 14:01
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.
A voir également:

5 réponses

absurdsystem Messages postés 117 Date d'inscription mardi 14 août 2007 Statut Membre Dernière intervention 28 août 2008 50
9 juin 2008 à 16:24
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
zebi331 Messages postés 71 Date d'inscription mercredi 21 mai 2008 Statut Membre Dernière intervention 15 mai 2010 26
9 juin 2008 à 16:28
est-ce que c'est possible que le problème vienne d'une erreur de saisie dans la base de données?
0
Alain_42 Messages postés 5361 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017 894 > zebi331 Messages postés 71 Date d'inscription mercredi 21 mai 2008 Statut Membre Dernière intervention 15 mai 2010
9 juin 2008 à 16:45
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
zebi331 Messages postés 71 Date d'inscription mercredi 21 mai 2008 Statut Membre Dernière intervention 15 mai 2010 26 > Alain_42 Messages postés 5361 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017
9 juin 2008 à 16:49
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
zebi331 Messages postés 71 Date d'inscription mercredi 21 mai 2008 Statut Membre Dernière intervention 15 mai 2010 26 > Alain_42 Messages postés 5361 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017
9 juin 2008 à 16:54
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
Alain_42 Messages postés 5361 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017 894 > zebi331 Messages postés 71 Date d'inscription mercredi 21 mai 2008 Statut Membre Dernière intervention 15 mai 2010
9 juin 2008 à 16:58
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
PhP Messages postés 1767 Date d'inscription lundi 11 décembre 2000 Statut Membre Dernière intervention 23 décembre 2009 606
9 juin 2008 à 17:57
Bsr

Heu ce serait pas plutôt la table produit qui serait introuvable dans la base ma_base ?
0
zebi331 Messages postés 71 Date d'inscription mercredi 21 mai 2008 Statut Membre Dernière intervention 15 mai 2010 26
9 juin 2008 à 20:16
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
zebi331 Messages postés 71 Date d'inscription mercredi 21 mai 2008 Statut Membre Dernière intervention 15 mai 2010 26
9 juin 2008 à 21:38
Personne ne trouve d'erreur dans le code de ma base de données?
0
zebi331 Messages postés 71 Date d'inscription mercredi 21 mai 2008 Statut Membre Dernière intervention 15 mai 2010 26
10 juin 2008 à 08:59
Il n'y a personne pour m'aider? :(
0
Alain_42 Messages postés 5361 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017 894
10 juin 2008 à 09:31
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

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
PhP Messages postés 1767 Date d'inscription lundi 11 décembre 2000 Statut Membre Dernière intervention 23 décembre 2009 606
10 juin 2008 à 14:01
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