Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1225 connectés 

  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  [mysql] Requete possible ?

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[mysql] Requete possible ?

n°1571138
Tonio94
Posté le 06-06-2007 à 17:09:23  profilanswer
 

Salut,
 
 
 
J'ai un doute sur la possibilité d'une telle requete, donc j'ai besoin d'un peu d'aide.
 
Je passe à ma methode qui contient ma requête 3 variables : $table qui contient la table à update, $ref qui est la nouvelle valeur à mettre à jour et $lref l'ancienne valeur qui doit être écrasée.
 
Dans mon UPDATE je lui passe le nom de la table à mettre à jour dans une variable parcequ'avant de faire la requête je travaille sur un formulaire qui peut appeler une dizaine de tables différentes.
 
Le problème est : Comment recuperer le nom du champ de ma table à mettre à jour ?
 
 
Voici la requete : $sql = "UPDATE `$table` SET libelle_% = '$ref' WHERE libelle_% = '$lref'";
 
 
Evidemment ca ne fonctionne pas. En fait le 2e champ de chaque table s'appelle "libelle_quelquechose" et c'est dans celui là à chaque fois que j'ai une valeur à mettre à jour.
 
 
Comment faire ?  :??:  
 
 
 
A vous.


---------------
~ Msi z790 Gaming Plus Wifi | i9-12900K + Dark Rock Pro4 | 64Go G-Skill DDR4 4800 | RTX 3080 Ti
mood
Publicité
Posté le 06-06-2007 à 17:09:23  profilanswer
 

n°1571166
Tonio94
Posté le 06-06-2007 à 17:52:30  profilanswer
 

Avant cette requete j'ai rajouté une autre methode qui effectue la requete "DESCRIBE" sur la table selectionnée, comme ca je recupere les champs de la table et je renvoi le bon pour ma 2e requete.
 
Voila ce que donne la requete :
 
$sql = "UPDATE `$table` SET '$champ' = '$ref' WHERE '$champ' = '$lref'";
 
 
Sauf que j'obtiens 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 ''libelle_agence' = 'toto' WHERE 'libelle_agence' = 'Paris'' at line 1

n°1571171
omega2
Posté le 06-06-2007 à 17:57:17  profilanswer
 

`$champ` (comme pour la table) et pas '$champ' (comme pour les chaines de caractéres)
 
Si tu n'utilises pas de mot réservé de mysql, qu'il n'y a pas de caractéres spéciaux dans le nom des champs et que les noms respectent les régles de base (par exemple pas d'espace dans le nom) alors tu n'as même pas besoin des " ` ".

n°1571173
Fr3d69
Posté le 06-06-2007 à 17:59:16  profilanswer
 

$sql = "UPDATE ".$table." SET ".$champ." = '".$ref."' WHERE ".$champ." = '".$lref."'";

n°1571198
Tonio94
Posté le 06-06-2007 à 18:29:24  profilanswer
 

Nikel merci ca fonctionne avec `$champ`.
 
Faut que je fasse des pauses de tps en tps :p


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  [mysql] Requete possible ?

 

Sujets relatifs
[MySQL 5] remettre une valeur par défaut avec UPDATEFonction Array() et variable, possible?
[RÉSOLU] requête MySQL select prochains évènementsincompatibilité mysql
Requête multi-instructions avec MySQLRécupéré les cinq dernieres entrée mysql
requête SQL avec ActionScript?Possible ? Stocker dans une variable de l'HTML généré par une page PHP
[MySQL] Possible de faire en UNE seule requête?[MySQL] une requête avec "double classement": possible??
Plus de sujets relatifs à : [mysql] Requete possible ?


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR