Rechercher : dans
Par :

UPDATE mysql/php

Dernière réponse le 5 mai 2009 à 09:16:31 djkent1, le 4 mai 2009 à 14:49:10 
 Signaler ce message aux modérateurs

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',NOMRUE­CLI='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

Meilleures réponses pour « UPDATE mysql/php » dans :
Installation rapide de LAMP (Apache+MySql+php) sous Linux Voir LAMP = Linux+Apache+MySql+Php. C'est le serveur web par excellence. L'ensemble est facile à installer. Installation rapide sudo aptitude install apache2 php5 mysql-server php5-mysql libapache2-mod-php5 Le mot de passe administrateur mySQL...
Installation d'un serveur Web sous Linux (Apache, PHP et MySQL) VoirIntroduction Un serveur web est un logiciel permettant de rendre accessibles à de nombreux ordinateurs (les clients) des pages web stockées sur le disque. Cette fiche pratique explique comment installer le serveur web Apache sur un système de type...
PHP - Bases de données VoirPhp permet un interfaçage très simple avec un grand nombre de bases de données. Lorsqu'une base de données n'est pas directement supportée par Php, il est possible d'utiliser un driver ODBC, pilote standard pour communiquer avec les bases de...

1

babou54, le 4 mai 2009 à 14:56:08

Enleve la parenthèse apres MOBILECLI='$mobile'

Répondre à babou54

2

djkent1, le 4 mai 2009 à 15:04:22

Merci de ton aide,
Rectification faite mais j'ai toujours la même erreur.

Répondre à djkent1

3

babou54, le 4 mai 2009 à 15:08:57

Faut aussi enlever celle avant nomcli

Répondre à babou54

4

djkent1, le 4 mai 2009 à 15:14:11

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

Répondre à djkent1

5

babou54, le 4 mai 2009 à 15:21:41

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

Répondre à babou54

6

djkent1, le 4 mai 2009 à 15:26:05

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

Répondre à djkent1

7

babou54, le 4 mai 2009 à 15:27:41

Maintenant redonne moi juste le code de ta requete

Répondre à babou54

8

djkent1, le 4 mai 2009 à 15:39:05

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())

Répondre à djkent1

9

babou54, le 4 mai 2009 à 15:48:30

Tu a testé si tes variables sont pleines ?

Répondre à babou54

10

djkent1, le 4 mai 2009 à 16:05:03

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'];
?>

Répondre à djkent1

11

babou54, le 4 mai 2009 à 16:18:59

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

Répondre à babou54

12

loocla, le 4 mai 2009 à 16:19:05

Tu fais bien ton submit avec les bons noms etc ? ("\(o_O)/")Toutes les routes mènent au RHUM ("\(o_O)/")

Répondre à loocla

13

djkent1, le 4 mai 2009 à 17:00:54

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

Répondre à djkent1

14

loocla, le 4 mai 2009 à 17:08:09

Essayes $_REQUEST a la place de POST ("\(o_O)/")Toutes les routes mènent au RHUM ("\(o_O)/")

Répondre à loocla

15

djkent1, le 4 mai 2009 à 17:13:28

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

Répondre à djkent1

16

djkent1, le 4 mai 2009 à 18:36:32

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

Répondre à djkent1

17

 loocla, le 5 mai 2009 à 09:16:31

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");
	}
?>
("\(o_O)/")Toutes les routes mènent au RHUM ("\(o_O)/")

Répondre à loocla