Posez votre question Signaler

UPDATE mysql/php

djkent1 356Messages postés 5 février 2009Date d'inscription - Dernière réponse le 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
Lire la suite 

UPDATE mysql/php »

17 réponses
Réponse
+0
moins plus
enleve la parenthèse apres MOBILECLI='$mobile'
Ajouter un commentaire
Réponse
+0
moins plus
Merci de ton aide,
Rectification faite mais j'ai toujours la même erreur.
Ajouter un commentaire
Réponse
+0
moins plus
faut aussi enlever celle avant nomcli
Ajouter un commentaire
Réponse
+0
moins plus
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
Ajouter un commentaire
Réponse
+0
moins plus
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
Ajouter un commentaire
Réponse
+0
moins plus
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
Ajouter un commentaire
Réponse
+0
moins plus
maintenant redonne moi juste le code de ta requete
Ajouter un commentaire
Réponse
+0
moins plus
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())
Ajouter un commentaire
Réponse
+0
moins plus
tu a testé si tes variables sont pleines ?
Ajouter un commentaire
Réponse
+0
moins plus
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'];
?>
Ajouter un commentaire
Réponse
+0
moins plus
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
Ajouter un commentaire
Réponse
+0
moins plus
Tu fais bien ton submit avec les bons noms etc ?
Ajouter un commentaire
Réponse
+0
moins plus
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
Ajouter un commentaire
Réponse
+0
moins plus
Essayes $_REQUEST a la place de POST
Ajouter un commentaire
Réponse
+0
moins plus
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
Ajouter un commentaire
Réponse
+0
moins plus
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
Ajouter un commentaire
Réponse
+0
moins plus
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");
	}
?>
Ajouter un commentaire
Ce document intitulé « UPDATE mysql/php » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Dossier à la une
5 extensions si vous voulez revenir à l'ancien Facebook