[MySQL] Requete UPDATE complexe ?

Résolu
xxkirastarothxx Messages postés 415 Statut Membre -  
 Utilisateur anonyme -
Bonjour à tous,

Je voudrais savoir s'il y a un moyen de faire une requete UPDATE complexe, de ce genre:

mysql_query("UPDATE $table (SET value="$value WHERE name="$name") AND (SET value="$value2" WHERE name="$name2")")

Je sais que la syntaxe de ma requête n'est pas bonne, mais je cherche quelques chose de similaire, ce qui m'eviterais d'avoir a écrire 30 requête d'affiliée :p

Merci d'avance :)
Configuration: Windows XP
Firefox 2.0.0.14

10 réponses

  1. alexdelareunion Messages postés 555 Statut Membre 142
     
    Impossible, on ne fait pas de AND avec un Update,
    une seule commande par Update c'est normal que plus ne marche pas.
    2
  2. Utilisateur anonyme
     
    Salut,
    mysql_query("UPDATE TA_TABLE (SET value='" . $value ."' WHERE name='" . $name . "') AND (SET value='" . $value2 . "' WHERE name='" . $name2 . "')");
    0
  3. xxkirastarothxx Messages postés 415 Statut Membre 40
     
    Merci :)
    j'essaye ça de suite :)
    0
  4. xxkirastarothxx Messages postés 415 Statut Membre 40
     
    voila j'ai mis cette requete:

    mysql_query("UPDATE $table (SET value='" . $name ."' WHERE name='name') AND (SET value='" . $slogan . "' WHERE name='slogan')");

    mais il ne se passe rien, quelqu'un pourrait me dire pourquoi ? :)
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. Utilisateur anonyme
     
    Re,
    $table c'est une variable contenant le nom de ta table?
    0
  7. xxkirastarothxx Messages postés 415 Statut Membre 40
     
    ouais j'oubliais ^^

    $table = SQL_PRE.'config' ( j'ai un define("SQL_PRE", "g33k_"); )
    => quand je fais un echo j'ai bien " g33k_config "

    c'est la table qui gère toute la config du site (comme un CMS)

    enfait, ma table est faite de 3 champs:

    id
    name (name, slogan, language, statut ....)
    value (Mon Site, Un Site Trop bien, french, on ...) etc...

    j'ai fais un page de config ou on peut tout géré, mais j'aimerai faire une seule requête plutot que 17 d'affilée (nombre d'entrée)
    Au pire c'est pas spécialement grave, mais ça allègerait bien je suppose :)
    0
  8. xxkirastarothxx Messages postés 415 Statut Membre 40
     
    donc obligé de faire mes 17 requete d'affilées ?
    erf :P

    Bon bah c'est partit alors... merci :)
    0
  9. Utilisateur anonyme
     
    Ok, ben essaie ça :
    mysql_query("UPDATE " . $table . " (SET value='" . $name ."' WHERE name='name');
    mysql_query("UPDATE " . $table . " (SET value='" . $slogan . "' WHERE name='slogan')");
    0
  10. xxkirastarothxx Messages postés 415 Statut Membre 40
     
    je voulais seulement trouver un moyen de reduire, sinon la commande je la connais :)
    je dirais même, plus simple:
    mysql_query("UPDATE $table SET value='$name' WHERE name='name'");

    pourquoi s'embêter avec la concaténation quand il n'y en a pas besoin ^^
    Bon en tout cas ça marche :)

    [résolu] même si j'ai pas vraiment trouver ce que je cherchais, j'ai eu ma reponse :p
    Merci :)
    0
  11. Utilisateur anonyme
     
    Ah ok, j'avais pas du tout saisi ta question de départ, mais après relecture, je comprends ^^. Oui, effectivement tu n'auras pas d'autre moyen de faire ce que tu veux. En fait, je croyais que tu disais que ça ne marchait pas en faisant sans concaténation, c'est pourquoi je t'avais proposé la méthode avec concaténation, ne réfléchissant pas du tout à la requête en elle-même :)
    0