Erreur Update SQL
wsaenot
-
wsaenot -
wsaenot -
Bonjour à tous,
J'ai un petit problème avec ma requête SQL de mise à jour des données.
J'ai développé ma petite appli de mon côté en local, tout marchait comme sur des roulettes, et puis maintenant que j'ai tout passé en ligne, ça canfre, évidemment.
Voilà le message d'erreur :
Erreur SQL !
UPDATE entreprise SET rs = 'raison sociale' , type='Administration' , tel_acc='tel accueil' , adr='adresse' , cp='code postal' , ville='ville' , act='Plusieurs' , perms='permanences' , 'nom_contact1='nom1' , tel_contact1='tel1' , mail_contact1='mail1' , nom_contact2='nom2' , tel_contact2='tel2' , mail_contact2='mail2' , nom_contact3='nom3' , tel_contact3='tel3' , mail_contact3='mail3' WHERE id = '2'
Erreur de syntaxe près de ''nom_contact1='nom1' , tel_contact1='tel1' , mail_contact1='mail1' , nom_contact' à la ligne 1
Et le bout de php qui s'occupe de ça :
<?php
//ce script va s'occuper de récupérer les données saisies dans le formulaire précédent, les vérifier, pour ensuite mettre à jour l'enregistrement
//sélectionné dans la base de données. Son fonctionnement est analogue à celui d'ajout.php
//récupération des valeurs du formulaire
$id=$_POST['id'];
$rs=$_POST['rs'];
$type=$_POST['type'];
$tel_acc=$_POST['tel_acc'];
$adr=$_POST['adr'];
$cp=$_POST['cp'];
$ville=$_POST['ville'];
$act=$_POST['act'];
$perms=$_POST['perms'];
$nom_contact1=$_POST['nom_contact1'];
$tel_contact1=$_POST['tel_contact1'];
$mail_contact1=$_POST['mail_contact1'];
$nom_contact2=$_POST['nom_contact2'];
$tel_contact2=$_POST['tel_contact2'];
$mail_contact2=$_POST['mail_contact2'];
$nom_contact3=$_POST['nom_contact3'];
$tel_contact3=$_POST['tel_contact3'];
$mail_contact3=$_POST['mail_contact3'];
//on vérifie qu'un champ n'a pas été oublié
if ((empty($rs))||(empty($tel_acc))||(empty($adr))||(empty($cp))||(empty($ville)))
{
//si c'est le cas : message d'erreur
echo ("<br>");
echo ("Vous n'avez pas renseigné tous les champs, veuillez recommencer s'ils vous plaît.");
echo ("<br>");
echo ("<br>");
echo ("<a href=javascript:window.history.go(-1)>Retour</a>");
}
else
{
//si ce n'est pas le cas, on peut injecter les données dans la base SQL
//ajout de slashes aux données susceptibles de contenir des " ' ", ce qui ferait planter la requête SQL
//les champs sont inscrits en clair dans la base de données, les slashes servent uniquement à l'insertion
$act=addslashes($act);
$rs=addslashes($rs);
$type=addslashes($type);
$adr=addslashes($adr);
$tel_acc=addslashes($tel_acc);
$cp=addslashes($cp);
$ville=addslashes($ville);
$perms=addslashes($perms);
$nom_contact1=addslashes($nom_contact1);
$tel_contact1=addslashes($tel_contact1);
$mail_contact1=addslashes($mail_contact1);
$nom_contact2=addslashes($nom_contact2);
$tel_contact2=addslashes($tel_contact2);
$mail_contact2=addslashes($mail_contact2);
$nom_contact3=addslashes($nom_contact3);
$tel_contact3=addslashes($tel_contact3);
$mail_contact3=addslashes($mail_contact3);
// on se connecte à MySQL
$db=mysql_connect('*****', '******', '*******');
// on sélectionne la base
mysql_select_db('******',$db);
// on crée la requête SQL
$sql="UPDATE entreprise SET rs = '$rs' , type='$type' , tel_acc='$tel_acc' , adr='$adr' , cp='$cp' , ville='$ville' , act='$act' , perms='$perms' , 'nom_contact1='$nom_contact1' , tel_contact1='$tel_contact1' , mail_contact1='$mail_contact1' , nom_contact2='$nom_contact2' , tel_contact2='$tel_contact2' , mail_contact2='$mail_contact2' , nom_contact3='$nom_contact3' , tel_contact3='$tel_contact3' , mail_contact3='$mail_contact3' WHERE id = '$id'";
// on envoie la requête
$req=mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
etc etc... ?>
Alors voilà, j'ai du mal à repérer d'où peut venir l'erreur dans ma requête, car avant cela, tout marchait bien. J'ai ajouté le champ "perms" pour les permanences après avoir écrit l'ensemble du programme, à la demande d'un professeur qui trouvait que dans mon logiciel, ce champ manquait.
J'ai donc tout réadapté avec un champ de plus, l'erreur pourrait éventuellement venir de là, mais là j'avoue que je vois pas... Le champ a été rajouté dans la base de données également, donc ça aurait dû rouler.
L'étrange c'est que j'ai d'autres scripts php d'insertion, suppression, sélection... etc, qui eux marchent nickel. Là je sèche.
Merci pour votre coup de main !
J'ai un petit problème avec ma requête SQL de mise à jour des données.
J'ai développé ma petite appli de mon côté en local, tout marchait comme sur des roulettes, et puis maintenant que j'ai tout passé en ligne, ça canfre, évidemment.
Voilà le message d'erreur :
Erreur SQL !
UPDATE entreprise SET rs = 'raison sociale' , type='Administration' , tel_acc='tel accueil' , adr='adresse' , cp='code postal' , ville='ville' , act='Plusieurs' , perms='permanences' , 'nom_contact1='nom1' , tel_contact1='tel1' , mail_contact1='mail1' , nom_contact2='nom2' , tel_contact2='tel2' , mail_contact2='mail2' , nom_contact3='nom3' , tel_contact3='tel3' , mail_contact3='mail3' WHERE id = '2'
Erreur de syntaxe près de ''nom_contact1='nom1' , tel_contact1='tel1' , mail_contact1='mail1' , nom_contact' à la ligne 1
Et le bout de php qui s'occupe de ça :
<?php
//ce script va s'occuper de récupérer les données saisies dans le formulaire précédent, les vérifier, pour ensuite mettre à jour l'enregistrement
//sélectionné dans la base de données. Son fonctionnement est analogue à celui d'ajout.php
//récupération des valeurs du formulaire
$id=$_POST['id'];
$rs=$_POST['rs'];
$type=$_POST['type'];
$tel_acc=$_POST['tel_acc'];
$adr=$_POST['adr'];
$cp=$_POST['cp'];
$ville=$_POST['ville'];
$act=$_POST['act'];
$perms=$_POST['perms'];
$nom_contact1=$_POST['nom_contact1'];
$tel_contact1=$_POST['tel_contact1'];
$mail_contact1=$_POST['mail_contact1'];
$nom_contact2=$_POST['nom_contact2'];
$tel_contact2=$_POST['tel_contact2'];
$mail_contact2=$_POST['mail_contact2'];
$nom_contact3=$_POST['nom_contact3'];
$tel_contact3=$_POST['tel_contact3'];
$mail_contact3=$_POST['mail_contact3'];
//on vérifie qu'un champ n'a pas été oublié
if ((empty($rs))||(empty($tel_acc))||(empty($adr))||(empty($cp))||(empty($ville)))
{
//si c'est le cas : message d'erreur
echo ("<br>");
echo ("Vous n'avez pas renseigné tous les champs, veuillez recommencer s'ils vous plaît.");
echo ("<br>");
echo ("<br>");
echo ("<a href=javascript:window.history.go(-1)>Retour</a>");
}
else
{
//si ce n'est pas le cas, on peut injecter les données dans la base SQL
//ajout de slashes aux données susceptibles de contenir des " ' ", ce qui ferait planter la requête SQL
//les champs sont inscrits en clair dans la base de données, les slashes servent uniquement à l'insertion
$act=addslashes($act);
$rs=addslashes($rs);
$type=addslashes($type);
$adr=addslashes($adr);
$tel_acc=addslashes($tel_acc);
$cp=addslashes($cp);
$ville=addslashes($ville);
$perms=addslashes($perms);
$nom_contact1=addslashes($nom_contact1);
$tel_contact1=addslashes($tel_contact1);
$mail_contact1=addslashes($mail_contact1);
$nom_contact2=addslashes($nom_contact2);
$tel_contact2=addslashes($tel_contact2);
$mail_contact2=addslashes($mail_contact2);
$nom_contact3=addslashes($nom_contact3);
$tel_contact3=addslashes($tel_contact3);
$mail_contact3=addslashes($mail_contact3);
// on se connecte à MySQL
$db=mysql_connect('*****', '******', '*******');
// on sélectionne la base
mysql_select_db('******',$db);
// on crée la requête SQL
$sql="UPDATE entreprise SET rs = '$rs' , type='$type' , tel_acc='$tel_acc' , adr='$adr' , cp='$cp' , ville='$ville' , act='$act' , perms='$perms' , 'nom_contact1='$nom_contact1' , tel_contact1='$tel_contact1' , mail_contact1='$mail_contact1' , nom_contact2='$nom_contact2' , tel_contact2='$tel_contact2' , mail_contact2='$mail_contact2' , nom_contact3='$nom_contact3' , tel_contact3='$tel_contact3' , mail_contact3='$mail_contact3' WHERE id = '$id'";
// on envoie la requête
$req=mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
etc etc... ?>
Alors voilà, j'ai du mal à repérer d'où peut venir l'erreur dans ma requête, car avant cela, tout marchait bien. J'ai ajouté le champ "perms" pour les permanences après avoir écrit l'ensemble du programme, à la demande d'un professeur qui trouvait que dans mon logiciel, ce champ manquait.
J'ai donc tout réadapté avec un champ de plus, l'erreur pourrait éventuellement venir de là, mais là j'avoue que je vois pas... Le champ a été rajouté dans la base de données également, donc ça aurait dû rouler.
L'étrange c'est que j'ai d'autres scripts php d'insertion, suppression, sélection... etc, qui eux marchent nickel. Là je sèche.
Merci pour votre coup de main !
Configuration: Windows XP Chrome
5 réponses
-
-
Non l'érreure c ke dans ta requete sql tu a fais une tite faute de frappe
$sql="UPDATE entreprise SET rs = '$rs' , type='$type' , tel_acc='$tel_acc' , adr='$adr' , cp='$cp' , ville='$ville' , act='$act' , perms='$perms' , 'nom_contact1='$nom_contact1' , tel_contact1='$tel_contact1' , mail_contact1='$mail_contact1' , nom_contact2='$nom_contact2' , tel_contact2='$tel_contact2' , mail_contact2='$mail_contact2' , nom_contact3='$nom_contact3' , tel_contact3='$tel_contact3' , mail_contact3='$mail_contact3' WHERE id = '$id'";
// on envoie la requête
$req=mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
etc etc... ?>
Je l'ai mise en gras, enleve la quote qui est en + ;)
^^...
-
Non l'érreure c ke dans ta requete sql tu a fais une tite faute de frappe
$sql="UPDATE entreprise SET rs = '$rs' , type='$type' , tel_acc='$tel_acc' , adr='$adr' , cp='$cp' , ville='$ville' , act='$act' , perms='$perms' , 'nom_contact1='$nom_contact1' , tel_contact1='$tel_contact1' , mail_contact1='$mail_contact1' , nom_contact2='$nom_contact2' , tel_contact2='$tel_contact2' , mail_contact2='$mail_contact2' , nom_contact3='$nom_contact3' , tel_contact3='$tel_contact3' , mail_contact3='$mail_contact3' WHERE id = '$id'";
// on envoie la requête
$req=mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
etc etc... ?>
Je l'ai mise en gras, enleve la quote qui est en + ;)
^^...
Dsl tout aleur ca se voyé pas quand c'était en gras ..
-
-
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -