Parse error requete sql

Fermé
morhead - 6 juil. 2010 à 14:54
Breub62 Messages postés 2989 Date d'inscription lundi 7 juin 2010 Statut Membre Dernière intervention 17 avril 2014 - 7 juil. 2010 à 13:52
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 2989 Date d'inscription lundi 7 juin 2010 Statut Membre Dernière intervention 17 avril 2014 369
6 juil. 2010 à 14:57
Tu dois bien avoir un parse error expected ou unexpected quelque chose non??
0
Azer_Ty Messages postés 104 Date d'inscription vendredi 31 octobre 2008 Statut Membre Dernière intervention 4 juillet 2011 60
6 juil. 2010 à 15:05
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 2989 Date d'inscription lundi 7 juin 2010 Statut Membre Dernière intervention 17 avril 2014 369
6 juil. 2010 à 15:07
Bien vu
0
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
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 2989 Date d'inscription lundi 7 juin 2010 Statut Membre Dernière intervention 17 avril 2014 369
6 juil. 2010 à 15:29
C'est parce que tu dois déjà avoir un enregistrement vide...
0
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 2989 Date d'inscription lundi 7 juin 2010 Statut Membre Dernière intervention 17 avril 2014 369
7 juil. 2010 à 10:53
Pourquoi mettre un where dans un insert?
0
Breub62 Messages postés 2989 Date d'inscription lundi 7 juin 2010 Statut Membre Dernière intervention 17 avril 2014 369
7 juil. 2010 à 10:55
Et quelle est l'erreur précise?
0
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 2989 Date d'inscription lundi 7 juin 2010 Statut Membre Dernière intervention 17 avril 2014 369
7 juil. 2010 à 11:00
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
ah oui un update ! j'suis rouillé en sql d'une force....
0
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
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 2989 Date d'inscription lundi 7 juin 2010 Statut Membre Dernière intervention 17 avril 2014 369
7 juil. 2010 à 11:51
<?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
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
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 2989 Date d'inscription lundi 7 juin 2010 Statut Membre Dernière intervention 17 avril 2014 369
7 juil. 2010 à 13:33
Fais voir ton echo $sql;
0
UPDATE sections_pec SET nom='PEC Baskett', description='club de baskett', contact='moi', entrainement='jamais', palmares= '1er' where club= ''
0
j'ai réussit !
0
Breub62 Messages postés 2989 Date d'inscription lundi 7 juin 2010 Statut Membre Dernière intervention 17 avril 2014 369
7 juil. 2010 à 13:40
Et as-tu des enregistrement où club = ''??
0