UPDATE mysql/php

Fermé
djkent1 Messages postés 363 Date d'inscription jeudi 5 février 2009 Statut Membre Dernière intervention 20 mai 2015 - 4 mai 2009 à 14:49
loocla Messages postés 180 Date d'inscription vendredi 24 avril 2009 Statut Membre Dernière intervention 18 juin 2009 - 5 mai 2009 à 09:16
Bonjour,
Je souhaite modifier des données dans ma bdd via un formulaire php. Je fais donc un UPDATE, mais après avoir essayer différentes synthaxe, aucune données n'est modifiées.
J'ai l'erreur suivante :

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '(NOMCLI='NOMCLI',PRENOMCLI='PRENOMCLI',NUMRUECLI='0',NOMRUECLI='RUECLI',VILLECLI' at line 2


Mon code est le suivant
$nom=$_POST['NOM'];
			$prenom=$_POST['PRENOM'];
			$numrue=$_POST['NUMRUE'];
			$rue=$_POST['NOMRUE'];
			$ville=$_POST['VILLE'];
			$cp=$_POST['CP'];
			$tel=$_POST['TEL'];
			$mobile=$_POST['MOBILE'];
				if (isset($_POST['NOM'])) // Si les variables existent
			{
				if ($_POST['NOM'] != NULL) // Si on a quelque chose à enregistrer
				{
					echo ("Ajout des informations fait avec succès.");
					mysql_query ("UPDATE client 
					SET(NOMCLI='$nom',PRENOMCLI='$prenom',NUMRUECLI='$numrue',NOMRUECLI='$rue',VILLECLI='$ville',CPCLI='$cp',TELCLI='$tel',MOBILECLI='$mobile') 
					WHERE NUMCLI = $num")or die ("Pb avec la requette ".mysql_error()); 
:
Merci d'avance pour votre aide
A voir également:

17 réponses

enleve la parenthèse apres MOBILECLI='$mobile'
0
djkent1 Messages postés 363 Date d'inscription jeudi 5 février 2009 Statut Membre Dernière intervention 20 mai 2015 48
4 mai 2009 à 15:04
Merci de ton aide,
Rectification faite mais j'ai toujours la même erreur.
0
faut aussi enlever celle avant nomcli
0
djkent1 Messages postés 363 Date d'inscription jeudi 5 février 2009 Statut Membre Dernière intervention 20 mai 2015 48
4 mai 2009 à 15:14
L'erreur a un peu changé, enfin pas beaucoup quand même

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 3


J'ai aussi essayer de retirer les quotes qui entourent mes variables mais l'erreur reste la même
0

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

Posez votre question
il faut aussi enlever les quotes qui encadrent tes variables tu n'en a pas besoin
eu lieu de MOBILECLI='$mobile'
tu met MOBILECLI=$mobile
et cela pour toute les variables
0
djkent1 Messages postés 363 Date d'inscription jeudi 5 février 2009 Statut Membre Dernière intervention 20 mai 2015 48
4 mai 2009 à 15:26
J'ai essayé ça aussi mais l'erreur reste la même, je ne comprend plus grand chose.
Merci de t'intéresser à mon cas
0
maintenant redonne moi juste le code de ta requete
0
djkent1 Messages postés 363 Date d'inscription jeudi 5 février 2009 Statut Membre Dernière intervention 20 mai 2015 48
4 mai 2009 à 15:39
Voilà
mysql_query ("UPDATE client 
					SET NOMCLI=$nom,PRENOMCLI=$prenom,NUMRUECLI=$numrue,NOMRUECLI=$rue,VILLECLI=$ville,CPCLI=$cp,TELCLI=$tel,MOBILECLI=$mobile 
					WHERE NUMCLI = $num")or die ("Pb avec la requette ".mysql_error())
0
tu a testé si tes variables sont pleines ?
0
djkent1 Messages postés 363 Date d'inscription jeudi 5 février 2009 Statut Membre Dernière intervention 20 mai 2015 48
4 mai 2009 à 16:05
En effet in n'y a rien dans mes variables !! Mais pourtant je leur attributs les valeurs contenues dans mes post.

<?php
$nom=$_POST['NOM'];
$prenom=$_POST['PRENOM'];
$numrue=$_POST['NUMRUE'];
$rue=$_POST['NOMRUE'];
$ville=$_POST['VILLE'];
$cp=$_POST['CP'];
$tel=$_POST['TEL'];
$mobile=$_POST['MOBILE'];
?>
0
il y a un espace dans tes post faut faire attention et sinon si l'erreure n'est pas la la methode de ton formulaire est en post ou en get
si c'est en get modifie tes $_POST par $_GET
0
loocla Messages postés 180 Date d'inscription vendredi 24 avril 2009 Statut Membre Dernière intervention 18 juin 2009 18
4 mai 2009 à 16:19
Tu fais bien ton submit avec les bons noms etc ?
0
djkent1 Messages postés 363 Date d'inscription jeudi 5 février 2009 Statut Membre Dernière intervention 20 mai 2015 48
4 mai 2009 à 17:00
Je vois pas où il y a un espace dans mes post.
La méthode de mon formulaire bien en post, j'ai essayé de passer en get à tous hasard mais rien à faire
0
loocla Messages postés 180 Date d'inscription vendredi 24 avril 2009 Statut Membre Dernière intervention 18 juin 2009 18
4 mai 2009 à 17:08
Essayes $_REQUEST a la place de POST
0
djkent1 Messages postés 363 Date d'inscription jeudi 5 février 2009 Statut Membre Dernière intervention 20 mai 2015 48
4 mai 2009 à 17:13
Le $_REQUEST n'a pas d'effet hélas, ce qui m'étonne c'est que je me suis basé sur un autre formulaire contenant un insert qui lui fonctionne très bien, j'ai juste changé la requete
0
djkent1 Messages postés 363 Date d'inscription jeudi 5 février 2009 Statut Membre Dernière intervention 20 mai 2015 48
4 mai 2009 à 18:36
Il doit y avoir 2 problèmes, dont un dû à ma requete puisque meme lorsque que je modifie mes donnée par le rien renvoyé par mes post mes données ne sont pas modifiées

Quelqu'un aurais un exemple de syntaxe pour un update avec des variables php?

Merci d'avance
0
loocla Messages postés 180 Date d'inscription vendredi 24 avril 2009 Statut Membre Dernière intervention 18 juin 2009 18
5 mai 2009 à 09:16
Oue j'ai un exemple mais c'est avec odbc !
<?
require 'Librairie.php';
OuvConect();

$Nom = $_REQUEST["Nom"];

	if($MaConnect)
	{
	echo "Connexion base ISILOG effectuée<br>";
	

$sql= "SELECT  N_UTIL, TEL_UTIL, 
FROM UTILISATEUR";

//ATTENTION les arguments sont inversés par rapport mysql_query
$req_lignes=odbc_exec($MaConnect,$sql);

while(odbc_fetch_array($req_lignes))
		{
		$result=$result+1;//total
		//le 2eme argument peut etre soit le no de colonne (de 1 à x ) soit le nom de champ
		
		$nom=odbc_result($req_lignes, 1);
		$Tel=odbc_result($req_lignes, 2);
		
		
		$sql_modif="UPDATE UTILISATEUR.N_UTIL
		SET    UTILISATEUR.N_UTIL = '$Nom'
		WHERE UTILISATEUR.C_UTIL ='$id'";
			
		
		$req_modif=odbc_exec($MaConnect,$sql_modif);
		if($req_modif)
		{
		echo "Modification matricule réussi";
		}else echo "Probleme modification";
                }
?>

Et le Librairie.php pour exemple ! :
<?php

$MaConnect=0;

/*fonction ouverture de connection*/
function OuvConect()
	{
	global $MaConnect;
	$MaConnect=odbc_connect("iwsprod", "ISILOGPROD" ,"isilog");
	}
?>
0