UPDATE mysql/php

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
Configuration: Windows Vista
Firefox 3.0.10

17 réponses

  1. 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");
    	}
    ?>
    1. 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
      1. 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
        1. 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
          1. 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
            1. 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'];
              ?>
              
              1. 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())
                1. 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
                  1. 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
                    1. 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
                      1. Merci de ton aide,
                        Rectification faite mais j'ai toujours la même erreur.