rss
Rechercher : dans
Par : Pertinence Date Nom d'utilisateur
Statut : Résolu

[MSSQL] commande UPDATE

Posté par Riwalenn, le mercredi 15 novembre 2006 à 12:31:18
Bonjour,

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['no­m_societe']."','".$_GET['contact']."','"­.$_GET['code_postal']."','".$_GET['ville']."'­,'".$_GET['telephone']."','".$_GET['email'].&­quot;');";
$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 Cordialement,
Riwalenn
Répondre à Riwalenn  Signaler ce message aux modérateurs Aller au dernier message

1


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
boss0211, le mercredi 15 novembre 2006 à 21:02:59
Soit ya un problème dans ta base de donné, ou alors met ta requette plus clairement c'est a dire balence pas
$_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.. MERCI BIEN!!
Répondre à boss0211

2


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Riwalenn, le jeudi 16 novembre 2006 à 09:52:19
.. 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. Cordialement,
Riwalenn
Répondre à Riwalenn

3


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
phunk, le jeudi 16 novembre 2006 à 10:58:25
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.
Répondre à phunk

4


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Riwalenn, le jeudi 25 janvier 2007 à 16:51:00
phunk je te remercie pour ces explications et effectivement c'est bien plus clair maintenant... ;) Cordialement,
Riwalenn
Répondre à Riwalenn

5


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Reivax962, le jeudi 25 janvier 2007 à 18:24:52
Bonjour,

Le "INTO" de ta requête ne serait-il pas superflu ?

Xavier
Répondre à Reivax962

6


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Riwalenn, le jeudi 1 février 2007 à 10:54:23
comment ça ? y'a t'il un autre moyen de dire à ma requete que je veux insérer des champs dans la table "fnath" ? Cordialement,
Riwalenn
Répondre à Riwalenn

7


  • 1
    Ce message vous semble utile, votez !
  • Ce message ne vous semble pas utile, votez !
  • Signaler ce message aux modérateurs
 Reivax962, le jeudi 1 février 2007 à 11:01:12
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...
Répondre à Reivax962
Logiciels pertinents trouvés dans les téléchargements
Télécharger free commander 2007.10afree commander - Free Commander est une alternative pour remplacer le gestionnaire de fichier ou explorateur de Windows. Le programme est...Catégorie: Gestion de fichiers
Licence: Freeware/gratuit
Télécharger Delphi 6 Edition personnelle 6.0Delphi 6 Edition personnelle - La société Borland (Inprise) a mis à disposition gratuitement, pour un usage non-commercial, la version 6 de son...Catégorie: Delphi
Licence: Freeware/gratuit
Télécharger NcFTP 3.2.1NcFTP - NcFTP est un formidable client FTP en ligne de commande disponible pour la quasi-totalité des systèmes d'exploitation....Catégorie: Téléchargement
Licence: Freeware/gratuit
Télécharger AVG Antivirus Free Edition 8.0AVG Antivirus Free Edition - AVG est un antivirus gratuit et performant reconnu pour les mises à jour régulières de sa base de données antivirale ! Il...Catégorie: Antivirus
Licence: Freeware/gratuit
Plus de logiciels gratuits sur « [MSSQL] commande UPDATE »