[MSSQL] commande UPDATE [Résolu/Fermé]
Signaler
Riwalenn
Reivax962
- Messages postés
- 364
- Date d'inscription
- jeudi 25 août 2005
- Statut
- Membre
- Dernière intervention
- 16 février 2015
Reivax962
- Messages postés
- 3669
- Date d'inscription
- jeudi 16 juin 2005
- Statut
- Membre
- Dernière intervention
- 25 janvier 2021
Bonjour,
j'ai créé la commande suivante sur ma page php :
que je mette VALUES ou SET, j'ai l'erreur suivante :
j'avoue ne pas trop comprendre comment utiliser la commande update...
merci d'avance pour l'aide apportée
j'ai créé la commande suivante sur ma page php :
<?php include ("connexion_base.php"); $sqlconnect=odbc_connect($dsn,$username,$password); $sqlquery="UPDATE INTO fnath (numero_compte, nom_societe, contact, code_postal, ville, telephone, email) SET('".$_GET['numero_compte']."','".$_GET['nom_societe']."','".$_GET['contact']."','".$_GET['code_postal']."','".$_GET['ville']."','".$_GET['telephone']."','".$_GET['email']."');"; $process=odbc_exec($sqlconnect, $sqlquery); ?>
que je mette VALUES ou SET, j'ai l'erreur suivante :
Warning: odbc_exec() [function.odbc-exec]: SQL error: [Microsoft][ODBC SQL Server Driver][SQL Server]Violation of PRIMARY KEY constraint 'PK_fnath'. Cannot insert duplicate key in object 'fnath'., SQL state 23000 in SQLExecDirect in C:\eurosource\grands_comptes\fnath2.php on line 6
j'avoue ne pas trop comprendre comment utiliser la commande update...
merci d'avance pour l'aide apportée
A voir également:
- [MSSQL] commande UPDATE
- [MSSQL] commande UPDATE ✓ - Forum - Webmaster
- Commandes update bios ✓ - Forum - BIOS
- PHP utilisation commande UPDATE sérialisée ✓ - Forum - PHP
- Lancer windows update en ligne de commande - Conseils pratiques - Windows 10
- Update mac terminal command - Conseils pratiques - macOS
4 réponses
boss0211
- Messages postés
- 263
- Date d'inscription
- lundi 13 février 2006
- Statut
- Membre
- Dernière intervention
- 9 septembre 2007
Soit ya un problème dans ta base de donné, ou alors met ta requette plus clairement c'est a dire balence pas
sa comme sa fait pluto des variable c'est mieux surtout que la ce n'est vraiment pas sécurité ton truck on peut te prendre tout tes code..(pour accèder a mysql!!!)
ETC..
$_GET['numero_compte']
sa comme sa fait pluto des variable c'est mieux surtout que la ce n'est vraiment pas sécurité ton truck on peut te prendre tout tes code..(pour accèder a mysql!!!)
$nb_compte = intval($_GET['numero_compte']);
ETC..
Riwalenn
- Messages postés
- 364
- Date d'inscription
- jeudi 25 août 2005
- Statut
- Membre
- Dernière intervention
- 16 février 2015
.. merci pour ta réponse... mais c'est vrai que je ne l'ai pas précisé, c'est pour un site intranet non visible sur internet...
Donc est-ce que ton code est valable pour MSSQL (chose que j'ai précisé dans le titre par contre) étant donné que je sais que les codes mysql ne fonctionne pas sous MSSQL... ?
mon collègue me dit que ton code pourrait forcer la valeur à être un entier.. mais pourquoi ce code ? je n'ai pas de chaîne de caractère à virgule... j'avoue ne pas comprendre. Peux-tu m'expliquer s'il te plaît ?
Merci d'avance.
Donc est-ce que ton code est valable pour MSSQL (chose que j'ai précisé dans le titre par contre) étant donné que je sais que les codes mysql ne fonctionne pas sous MSSQL... ?
mon collègue me dit que ton code pourrait forcer la valeur à être un entier.. mais pourquoi ce code ? je n'ai pas de chaîne de caractère à virgule... j'avoue ne pas comprendre. Peux-tu m'expliquer s'il te plaît ?
Merci d'avance.
phunk
- Messages postés
- 497
- Date d'inscription
- lundi 31 juillet 2006
- Statut
- Membre
- Dernière intervention
- 30 novembre 2006
Salut Riwalenn,
Lorsque tu fais un update, si tu ne précises pas de condition where alors toutes les lignes sont affectées.
Tu as une contrainte définie sur ta table 'fnath'. Par exemple si ta clé primaire est définie sur 'numero_compte' : ta requête essaye de mettre à jour un numero_compte en lui affectant une valeur qui existe déjà dans la table. Chaque clé devant être unique, forcément il te jette : c'est le message d'erreur qu'il te renvoie.
Lorsque tu fais un update, si tu ne précises pas de condition where alors toutes les lignes sont affectées.
Tu as une contrainte définie sur ta table 'fnath'. Par exemple si ta clé primaire est définie sur 'numero_compte' : ta requête essaye de mettre à jour un numero_compte en lui affectant une valeur qui existe déjà dans la table. Chaque clé devant être unique, forcément il te jette : c'est le message d'erreur qu'il te renvoie.
Reivax962
- Messages postés
- 3669
- Date d'inscription
- jeudi 16 juin 2005
- Statut
- Membre
- Dernière intervention
- 25 janvier 2021
Bonjour,
Le "INTO" de ta requête ne serait-il pas superflu ?
Xavier
Le "INTO" de ta requête ne serait-il pas superflu ?
Xavier
Reivax962
- Messages postés
- 3669
- Date d'inscription
- jeudi 16 juin 2005
- Statut
- Membre
- Dernière intervention
- 25 janvier 2021
- Messages postés
- 364
- Date d'inscription
- jeudi 25 août 2005
- Statut
- Membre
- Dernière intervention
- 16 février 2015
Ben...
Pour moi, c'est soit
INSERT INTO table VALUES() si tu veux insérer un champ
UPDATE table SET [...] si tu veux modifier un champ...
Mais pas UPDATE INTO...
Pour moi, c'est soit
INSERT INTO table VALUES() si tu veux insérer un champ
UPDATE table SET [...] si tu veux modifier un champ...
Mais pas UPDATE INTO...