PhP/MySQL: Parse error: syntax error, unexpec

Résolu/Fermé
Signaler
Messages postés
71
Date d'inscription
mercredi 21 mai 2008
Statut
Membre
Dernière intervention
15 mai 2010
-
Messages postés
1767
Date d'inscription
lundi 11 décembre 2000
Statut
Membre
Dernière intervention
23 décembre 2009
-
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.

5 réponses

Messages postés
117
Date d'inscription
mardi 14 août 2007
Statut
Membre
Dernière intervention
28 août 2008
50
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
Messages postés
71
Date d'inscription
mercredi 21 mai 2008
Statut
Membre
Dernière intervention
15 mai 2010
25
est-ce que c'est possible que le problème vienne d'une erreur de saisie dans la base de données?
0
Messages postés
5358
Date d'inscription
dimanche 3 février 2008
Statut
Membre
Dernière intervention
13 février 2017
895 >
Messages postés
71
Date d'inscription
mercredi 21 mai 2008
Statut
Membre
Dernière intervention
15 mai 2010

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
Messages postés
71
Date d'inscription
mercredi 21 mai 2008
Statut
Membre
Dernière intervention
15 mai 2010
25 >
Messages postés
5358
Date d'inscription
dimanche 3 février 2008
Statut
Membre
Dernière intervention
13 février 2017

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
Messages postés
71
Date d'inscription
mercredi 21 mai 2008
Statut
Membre
Dernière intervention
15 mai 2010
25 >
Messages postés
5358
Date d'inscription
dimanche 3 février 2008
Statut
Membre
Dernière intervention
13 février 2017

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
Messages postés
5358
Date d'inscription
dimanche 3 février 2008
Statut
Membre
Dernière intervention
13 février 2017
895 >
Messages postés
71
Date d'inscription
mercredi 21 mai 2008
Statut
Membre
Dernière intervention
15 mai 2010

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
Messages postés
1767
Date d'inscription
lundi 11 décembre 2000
Statut
Membre
Dernière intervention
23 décembre 2009
608
Bsr

Heu ce serait pas plutôt la table produit qui serait introuvable dans la base ma_base ?
0
Messages postés
71
Date d'inscription
mercredi 21 mai 2008
Statut
Membre
Dernière intervention
15 mai 2010
25
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
Messages postés
71
Date d'inscription
mercredi 21 mai 2008
Statut
Membre
Dernière intervention
15 mai 2010
25
Personne ne trouve d'erreur dans le code de ma base de données?
0
Messages postés
71
Date d'inscription
mercredi 21 mai 2008
Statut
Membre
Dernière intervention
15 mai 2010
25
Il n'y a personne pour m'aider? :(
0
Messages postés
5358
Date d'inscription
dimanche 3 février 2008
Statut
Membre
Dernière intervention
13 février 2017
895
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
Messages postés
1767
Date d'inscription
lundi 11 décembre 2000
Statut
Membre
Dernière intervention
23 décembre 2009
608
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