Parse error requete sql

morhead -  
Breub62 Messages postés 3452 Statut Membre -
Bonjour,

j'ai un gros soucis, je dois être aveugle mais cela fait 2 h que je suis sur une parse error sur cette ligne....et je trouve pas... Le nombre de valeurs est bon, la synthaxe me semble bonne...

Z'avez une idée s'il vous plait ?

$sql = 'INSERT INTO basechoisie VALUES ("","","'.nl2br(htmlentities($_POST['nom']).'", "'.nl2br(htmlentities($_POST['description']).'", "'.nl2br(htmlentities($_POST['contact']).'", "'.nl2br(htmlentities($_POST['entrainement']).'", "'.nl2br(htmlentities($_POST['palmares']).'","" )';

8 réponses

Breub62 Messages postés 3452 Statut Membre 369
 
Tu dois bien avoir un parse error expected ou unexpected quelque chose non??
0
Azer_Ty Messages postés 108 Statut Membre 60
 
Bonjour,
A chaque fois que vous utilisez nl2br() vous ne fermez pas la parenthèse
essayez :
$sql = 'INSERT INTO basechoisie VALUES ("","","'.nl2br(htmlentities($_POST['nom'])).'", "'.nl2br(htmlentities($_POST['description'])).'", "'.nl2br(htmlentities($_POST['contact'])).'", "'.nl2br(htmlentities($_POST['entrainement'])).'", "'.nl2br(htmlentities($_POST['palmares'])).'","" )';

0
Breub62 Messages postés 3452 Statut Membre 369
 
Bien vu
0
morhead
 
Oula ! c'est pire mdr....(ligne 57 étant la ligne en question...ppff...

Notice: Undefined index: nom in C:\wamp\www\pec\insert_section.php  on line 57

Notice: Undefined index: description in C:\wamp\www\pec\insert_section.php on line 57

Notice: Undefined index: contact in C:\wamp\www\pec\insert_section.php on line 57

Notice: Undefined index: entrainement in C:\wamp\www\pec\insert_section.php on line 57

Notice: Undefined index: palmares in C:\wamp\www\pec\insert_section.php on line 57
Erreur SQL !INSERT INTO sections_pec VALUES ("","","", "", "", "", "","" )
Duplicate entry '' for key 'PRIMARY'


Ma base c'est

CREATE TABLE IF NOT EXISTS 'sections_pec' (
  'club' varchar(100) NOT NULL,
  'logo' varchar(150) NOT NULL,
  'nom' varchar(150) NOT NULL,
  'description' varchar(300) NOT NULL,
  'contact' varchar(350) NOT NULL,
  'entrainement' varchar(350) NOT NULL,
  'palmares' varchar(350) NOT NULL,
  'img' varchar(350) NOT NULL,
  PRIMARY KEY ('club')
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
0
morhead
 
Oula normal les undefined index j'suis bete.....
Par contre pour la clef primaire pas normal
0

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

Posez votre question
Breub62 Messages postés 3452 Statut Membre 369
 
C'est parce que tu dois déjà avoir un enregistrement vide...
0
morhead
 
Re bonjour, je reviens à la charge après avoir réussit a modifier, réparer, coder la grosse partie .... et au final je reviens sur cette requete qui me remet une parse error....

$sql = 'INSERT INTO sections_pec VALUES ("'.($_POST['choix']).'","","'.nl2br(htmlentities($_POST['nom'])).'", "'.nl2br(htmlentities($_POST['description'])).'","'.nl2br(htmlentities($_POST['contact'])).'", "'.nl2br(htmlentities($_POST['entrainement'])).'", "'.nl2br(htmlentities($_POST['palmares'])).'","" ) where club= $_post['choix']';


la partie après le where ne semble pas être le problème vu qu'en l'enlevant cela ne change rien à mon parse error...
Cette fois parenthèses, points, etc, j'ai vérifié 1h.... je dois être aveugle encore ue fois...
0
Breub62 Messages postés 3452 Statut Membre 369
 
Pourquoi mettre un where dans un insert?
0
Breub62 Messages postés 3452 Statut Membre 369
 
Et quelle est l'erreur précise?
0
morhead
 
hum... en fait je veux remplacer la ligne où la valeur choix correspond au club.
Je ne veux pas plusieurs enregistrements de la meme valeur choix...
Je ne sais pas si je suis claire
0
Breub62 Messages postés 3452 Statut Membre 369
 
Donc tu dois faire un update et non un insert...

Quant au parse error ce n'est pas un problème de requête sql mais une erreur de syntaxe php (généralement un parenthèse non fermée une virgule oublié,...)
0
morhead
 
ah oui un update ! j'suis rouillé en sql d'une force....
0
morhead
 
mon fichier php comporte pas grand chose

<?php

$sql = 'UPDATE sections_pec SET nom="'.nl2br(htmlentities($_POST['nom'])).'", description="'.nl2br(htmlentities($_POST['description'])).'",contact="'.nl2br(htmlentities($_POST['contact'])).'", entrainement="'.nl2br(htmlentities($_POST['entrainement'])).'",palmares= "'.nl2br(htmlentities($_POST['palmares'])).'" where club= $_post['choix']'or die('Erreur SQL !'.$sql.'<br />'.mysql_error());

mysql_query($sql) or die('Erreur SQL !'.$sql.'<br />'.mysql_error());

mysql_close();

header('Location: ../pec/index.php');

exit();
?>


D'ou pourrait venir la parse error toujours indiquée sur ma commande sql ?
0
morhead
 
Je colle totalement la...j'ai regardé dans ma page formulaire d'envoie pour voir si mes variables sont bonnes, tout est ok, et dans le fichier d'update je vois pas d'erreur...
0
Breub62 Messages postés 3452 Statut Membre 369
 
<?php

$sql = "UPDATE sections_pec SET nom='".nl2br(htmlentities($_POST['nom']))."', description='".nl2br(htmlentities($_POST['description']))."',contact='".nl2br(htmlentities($_POST['contact']))."', entrainement='".nl2br(htmlentities($_POST['entrainement']))."',palmares= '".nl2br(htmlentities($_POST['palmares']))."' where club= '".$_POST['choix']."'";

mysql_query($sql) or die('Erreur SQL !'.$sql.'<br />'.mysql_error());

mysql_close();

header('Location: ../pec/index.php');

exit();
?>

Et voila le travail...
0
morhead
 
bon après pas mal de modif....
L'update marche, enfin toutes mes variables sont prisent en compte dans mon envoie quand je met echo $sql;

Par contre aucune modification dans ma base....

Aucun message d'erreur...
0
morhead
 
Il récupère pas ma valeur club ! c'est ca le problème ! si j'enleve le where il actualise toutes les lignes, si je met le where il actualise plus rien !
0
Breub62 Messages postés 3452 Statut Membre 369
 
Fais voir ton echo $sql;
0
morhead
 
UPDATE sections_pec SET nom='PEC Baskett', description='club de baskett', contact='moi', entrainement='jamais', palmares= '1er' where club= ''
0
morhead
 
j'ai réussit !
0
Breub62 Messages postés 3452 Statut Membre 369
 
Et as-tu des enregistrement où club = ''??
0