probleme requete sous MYSQL

Anhia
Invité n'ayant pas de compte PHPfrance

19 mai 2005, 11:13

Bonjour,

j'ai une requete qui fonctionne sous Access mais je n'arrive pas à la faire fonctionner avec MySQL. Quelqu'un peut m'aider faire fonctionner cette requete sous MySQL svp ??


UPDATE T1 SET lib = "<i>" & T1.lib & "</i>" WHERE id=1;


merci à tous :)

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

19 mai 2005, 11:16

1erement : c'est pas très esprit forum le "est ce que quelqu'un peut faire marcher cette requete". Il vaut mieux que tu comprenne pourquoi ça ne marche pas, ça t'évitera de refaire la même erreur

2emement : à quoi te servent les <i></i> ?
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer

Invité
Invité n'ayant pas de compte PHPfrance

19 mai 2005, 11:27

1erement : c'est pas très esprit forum le "est ce que quelqu'un peut faire marcher cette requete". Il vaut mieux que tu comprenne pourquoi ça ne marche pas, ça t'évitera de refaire la même erreur
Heuuu... En ayant la solution je comprendrai direct ce qui ne vas pas. C'est juste un problème de syntaxe SQL. Access l'accepte MySQL pas...
Je ne vois pas ce qui est "hors esprit forum" dans ma requête :wink:

2emement : à quoi te servent les <i></i> ?
Ce n'est pas important de savoir ce qu'il y a dans les guillemets, ce n'est qu'un exemple... Ce que je veux savoir c'est comment dans une requete update on rajoute des chaines de caractere au debut et a la fin d'un champs sous MySQL

Mammouth du PHP | 19672 Messages

19 mai 2005, 11:34

Ta requête ne peut pas fonctionner parce que tu as plusieurs valeurs qui ne sont pas comprises par le serveur de base de données

Code : Tout sélectionner

UPDATE T1 SET lib = "<i>" & T1.lib & "</i>" WHERE id=1;
Tu as des guillemets et le SGBD les prend comme tels, mais du coup essaye de ne mettre à jour qu'avec le pemier bloc "<i>" et ne comprend pas le reste. Il te faut donc échapper ces guillements et mettre le tout entre apostrophes pour faire bonne mesure:

Code : Tout sélectionner

UPDATE T1 SET lib = '\"<i>\" & T1.lib & \"</i>\"' WHERE id=1;
Ça devrait mieux fonctionner.
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

anhia
Invité n'ayant pas de compte PHPfrance

19 mai 2005, 11:43

merci mais ca marche pas :-)

le resultat de ta requete me fais cette modif :

"<i>" & T1.lib & "</i>"

hors moi ce que je veux c'es qu'il me fasse cette modif la :

<i> lecontenudemonchamp </i>

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

19 mai 2005, 11:48

Et cette requete ?

Code : Tout sélectionner

UPDATE T1 SET lib = concat(concat("<i>",T1.lib),"</i>") WHERE id=1;
Sinon, en ce qui concerne l'esprit "hors forum", c'est "je n'y arrive pas, bossez à ma place !!". Je ne prétend pas que c'est ton cas mais on en voit tellement que quand je vois un post formulé comme le tiens, je prend des aprioris !!! Désole :oops:
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer

Mammouth du PHP | 19672 Messages

19 mai 2005, 11:52

Ok, autant pour moi, j'avais pas compris
Il faudrait pouvoir faire une requête imbriquée, mais ça marche pas avec un UPDATE à ma connaissance.
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Invité
Invité n'ayant pas de compte PHPfrance

19 mai 2005, 12:04

UPDATE T1 SET lib = concat(concat("<i>",T1.lib),"</i>") WHERE id=1;
Ca marche !!! Nickel merci beaucoup tu me depannes, tu peux pas savoir (mon chef est quelque peu de mauvaise humeur ce matin)
Sinon, en ce qui concerne l'esprit "hors forum", c'est "je n'y arrive pas, bossez à ma place !!". Je ne prétend pas que c'est ton cas mais on en voit tellement que quand je vois un post formulé comme le tiens, je prend des aprioris !!! Désole
Pas de problème ma phrase était maladroite j'en conviens :-)


merci également à toi Cyrano :wink: