Requette SQL

Rémi -  
Taboujr Messages postés 507 Statut Membre -
Bonjours

j'ai un souci avec ma requette sql :
$sql4="UPDATE utilisateur set id_utilisateur='$personnee',nom_machine='$ttpmach',n_immo_uti=$immobilisation where id_utilisateur='$personnee'";
$result=mysql_query($sql4) or die ('Erreur SQL !<br>'.$sql4.'<br>');

j'ai l'erreur :
Erreur SQL !
UPDATE utilisateur set id_utilisateur='2',nom_machine='Portable',n_immo_uti=373 where id_utilisateur='2'

Je comprend pas ce ki "merde"...

Merci d'avance ...

17 réponses

Canard007 Messages postés 5936 Statut Contributeur 215
 
je ne sait pas si cela vient de la mais pourquoi tu fait set id_utilisateur.... where id utilisateur?
cela ne sert a rien il est deja a la valeur l id voulu...ensuite ca vient peu etre de la vu qu il doit mettre id_utilisateur a x alors que l enregistrrement avec l id 2 existe deja...essaye de virer le set et test
0
Taboujr Messages postés 507 Statut Membre 117
 
Bonjour

Pour avoir plus d'information sur l'erreur, essaie un die du type :
die ('Erreur SQL !<br />'.$sql4.'<br />'.mysql_error());
afin que le code soit un peu plus "bavard" sur l'erreur rencontrée.

.:: TaBou JuNioR ::.
J'ai des questions à toutes vos réponses. [W. Allen]
0
chatbotté
 
Je crois que tu peux pas faire

update x='a', y='b' where z='c'

je crois que tu dois le faire en 2 requêtes
update x='a' where z='c'
update y='b' where z='c'
0
Rémi
 
$sql4="UPDATE utilisateur set id_utilisateur='$personnee',nom_machine='$ttpmach',n_immo_uti=$immobilisation where id_utilisateur='$personnee'";
$result=mysql_query($sql4) or die ('Erreur SQL !<br>'.$sql4.'<br>.mysql_error());');

Lorsque je rajoute .mysql_error() y parle pa beaucou plus lol :

Erreur SQL !
UPDATE utilisateur set id_utilisateur='2',nom_machine='Portable',n_immo_uti=373 where id_utilisateur='2'
.mysql_error());

-----------------

->"cela ne sert a rien il est deja a la valeur l id voulu...ensuite ca vient peu etre de la vu qu il doit mettre id_utilisateur a x alors que l enregistrrement avec l id 2 existe deja...essaye de virer le set et test"

j ai enlever le Set pour voir et sa fait toujours la mm erreur !
et jai aussi retiré id_utilisateur='$personnee' (celui du début ) pour voir et j aiencore la mm erreur !

je comprend pas
0
Taboujr Messages postés 507 Statut Membre 117
 
Bonjour.

Il ne faut pas enlever le SET. Ta requête est syntaxiquement correcte. Par contre, j'ai toujours vu écrit les mots réservé des syntace sql en majuscule, je ne sais pas si cela a de l'importance, mais tu peux toujours tenter de mettre "SET" à la place de "set".

On peut updater plusieurs variables d'une même entrée dans une seule requête.

L'erreur vient peut-être du fait que la configuration de ta table ne permet pas d'effectuer ta requête. As-tu fais afficher l'erreur ? Et si oui, quelle est-elle ?

.:: TaBou JuNioR ::.
J'ai des questions à toutes vos réponses. [W. Allen]
0

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

Posez votre question
Utilisateur anonyme
 
Non, c'est possible chatbotté. Seulement enlev les simple quotes autour des entiers (pour l'id utilisateur par exemple) et vérifie si tu peux modifier l'identifiant de ta table. Vérifie aussi si c'est vraiment utile de modifier l'identifiant....

Fat_Cartman,
Parce que je le vaux bien...
0
Rémi
 
je les partitionné en 2 requette :

$sql4="UPDATE utilisateur set nom_machine='$ttpmach',n_immo_uti=$immobilisation where id_utilisateur='$personnee'";
$result=mysql_query($sql4) or die ('Erreur SQL !<br>'.$sql4.'<br>.mysql_error());');

$sql5="UPDATE utilisateur set n_immo_uti=$immobilisation where id_utilisateur='$personnee'";
$result=mysql_query($sql5) or die ('Erreur SQL !<br>'.$sql5.'<br>.mysql_error());');

.... et toujours pareil

Erreur SQL !
UPDATE utilisateur set nom_machine='Portable',n_immo_uti=373 where id_utilisateur='2'
.mysql_error());
0
Taboujr Messages postés 507 Statut Membre 117
 
Remplace ça
die ('Erreur SQL !<br>'.$sql4.'<br>.mysql_error());')
par ça
die ('Erreur SQL !<br>'.$sql4.'<br>'.mysql_error())
(un petit problème d'apostrophe) pour faire afficher l'erreur.

.:: TaBou JuNioR ::.
J'ai des questions à toutes vos réponses. [W. Allen]
0
Rémi
 
"vérifie si tu peux modifier l'identifiant de ta table. "
^^ avec m uptate jpensé y arrivé =(

"Vérifie aussi si c'est vraiment utile de modifier l'identifiant.... "
^^ vi j en suis obliger pour le taff kon me demande

"Seulement enlev les simple quotes autour des entiers "
^^ sa march toujours pas

qui à une batte de baseball ? c pour mon ordi lol
0
Canard007 Messages postés 5936 Statut Contributeur 215
 
en en mettant n_immo_uti='$immobilisation' à la place de n_immo_uti=$immobilisation
0
Rémi
 
$sql5="UPDATE utilisateur SET nom_machine='$ttpmach',n_immo_uti='$immobilisation' where id_utilisateur='$personnee'";
$result=mysql_query($sql5) or die die ('Erreur SQL !<br>'.$sql5.'<br>'.mysql_error()');

j ai page blanche +
Parse error: parse error, unexpected T_EXIT in c:\program files\easyphp1-7\www\projet_g.p.i\projet_g.p.i version_local php mysql\site\tribunelibre.php3 on line 84
0
Taboujr Messages postés 507 Statut Membre 117
 
Il y a un apostrophe en trop après mysql_error(), et il y a 2 die, c'est pour ça que tu as une erreur de syntaxe.

.:: TaBou JuNioR ::.
J'ai des questions à toutes vos réponses. [W. Allen]
0
Rémi
 
$sql5="UPDATE utilisateur SET nom_machine='$ttpmach',n_immo_uti='$immobilisation' where id_utilisateur='$personnee'";
$result=mysql_query($sql5) or die die ('Erreur SQL !<br>'.$sql5.'<br>'.mysql_error());

page blanche +
Parse error: parse error, unexpected T_EXIT in c:\program files\easyphp1-7\www\projet_g.p.i\projet_g.p.i version_local php mysql\site\tribunelibre.php3 on line 84

( jenvi dvous dire merci à tous de m aider c sympas !)
On va y arriver ! jespere ...
0
Rémi
 
exacte pour les 2 die :p zavé mm pa vu

erreur afficher :
Erreur SQL !
UPDATE utilisateur SET nom_machine='Portable',n_immo_uti='373' where id_utilisateur='2'
Champ 'n_immo_uti' inconnu dans field list
0
Taboujr Messages postés 507 Statut Membre 117
 
Hmm, apparemment, tu lui demandes d'updater un champ qui n'existe pas dans la table (le champ n_immo_uti). Vérifie le nom de ton champs dans ta table mysql.

.:: TaBou JuNioR ::.
J'ai des questions à toutes vos réponses. [W. Allen]
0
Rémi
 
mes tables :

$tb_utilisateur= "CREATE TABLE utilisateur
( id_utilisateur int(11) NOT NULL AUTO_INCREMENT,
nom_utilisateur text NOT NULL,
prenom_utilisateur text NOT NULL,
nom_machine text NOT NULL,
n_immo_uti int NOT NULL,
PRIMARY KEY (id_utilisateur)
)";

$tb_materiel= "CREATE TABLE machine
( id_machine int(5) NOT NULL AUTO_INCREMENT,
nom_machine text NOT NULL,
n_serie_machine text NOT NULL,
valeur_achat_machine int NOT NULL,
date_sortie_machine date NOT NULL default '0000-00-00',
date_MiseEnService_machine date NOT NULL default '0000-00-00',
dateFinGarantie_machine date NOT NULL default '0000-00-00',
processeur_machine text NOT NULL,
memoire_machine text NOT NULL,
disquedure_machine text NOT NULL,
n_immo_machine int NOT NULL,
loyer_machine text NOT NULL,
model_machine text NOT NULL,
PRIMARY KEY (id_machine)
) ";
0
Rémi
 
Ca march !!!! sui tou crok =)

MERcIIIiiIIiiIii à tous !!!!!!
0
Taboujr Messages postés 507 Statut Membre 117
 
Cool :-)

.:: TaBou JuNioR ::.
J'ai des questions à toutes vos réponses. [W. Allen]
0