substr() me fait des trucs bizarre
16 messages
• Page 1 sur 2 • 1, 2
- noel2008
- WRInaute discret

- Messages: 89
- Inscription: 16 Nov 2008
substr() me fait des trucs bizarre
J'essaie de supprimer les 12 premières lettres d'un champ, j'ai donc tenté :
mysql_query("UPDATE `tsqq` SET `tsqq`= SUBSTR('tsqq', 12)");
Mais au lieu de me supprimer le 12 premières lettres de chaque entrée, ça me supprime toutes les entrées à la place.
Quelqu'un verrait pourquoi ?
Merci !
mysql_query("UPDATE `tsqq` SET `tsqq`= SUBSTR('tsqq', 12)");
Mais au lieu de me supprimer le 12 premières lettres de chaque entrée, ça me supprime toutes les entrées à la place.
Quelqu'un verrait pourquoi ?
Merci !
-

antinomx - WRInaute occasionnel

- Messages: 277
- Inscription: 23 Aoû 2008
Re: substr() me fait des trucs bizarre
Salut,
Comme tu peux le voir dans la doc, il faut définir le caractère de départ et celui de fin donc ça ferait plutôt substr('tsqq', 0, 12).
A+!
Comme tu peux le voir dans la doc, il faut définir le caractère de départ et celui de fin donc ça ferait plutôt substr('tsqq', 0, 12).
A+!
-

jeanluc - WRInaute accro

- Messages: 3062
- Inscription: 3 Mai 2004
Re: substr() me fait des trucs bizarre
Faut pas confondre substr (PHP) et SUBSTR (MySQL).antinomx a écrit:Comme tu peux le voir dans la doc, il faut définir le caractère de départ et celui de fin donc ça ferait plutôt substr('tsqq', 0, 12).
Jean-Luc
- noel2008
- WRInaute discret

- Messages: 89
- Inscription: 16 Nov 2008
Re: substr() me fait des trucs bizarre
J'ai également essayé avec
("UPDATE `tsqq` SET `tsqq`= SUBSTRING('tsqq', 12, -9 )")
("UPDATE `tsqq` SET `tsqq`= MID('tsqq', 12, -9 )")
J'ai même essayé en mettant 1, -1 juste pour voir, mais dans tout les cas ça m'efface tout.
C'est super chiant, parce qu'en plus pour pouvoir avancer et faire d'autres truc j'ai spécialement besoin de résoudre ce problème précis... ^^
Donc un très grand merci à celui qui me résoudra ça !
("UPDATE `tsqq` SET `tsqq`= SUBSTRING('tsqq', 12, -9 )")
("UPDATE `tsqq` SET `tsqq`= MID('tsqq', 12, -9 )")
J'ai même essayé en mettant 1, -1 juste pour voir, mais dans tout les cas ça m'efface tout.
C'est super chiant, parce qu'en plus pour pouvoir avancer et faire d'autres truc j'ai spécialement besoin de résoudre ce problème précis... ^^
Donc un très grand merci à celui qui me résoudra ça !
- noel2008
- WRInaute discret

- Messages: 89
- Inscription: 16 Nov 2008
Re: substr() me fait des trucs bizarre
Ah du progrès.
Quand je fait ça :
mysql_query("UPDATE `tsqq` SET `tsqq`=SUBSTR('tsqq', 3) WHERE id='24099'");
Ca me donne << qq >>.
Donc en fait ça ne prend pas la valeur du champs mais litteralement << tsqq >>.
Or je ne voit pas comment faire autrement qu'avec les simples guillemets autour du champ 'tsqq' pour que sql comprennent qu'il s'agit d'un champs et pas de texte.
Quand je fait ça :
mysql_query("UPDATE `tsqq` SET `tsqq`=SUBSTR('tsqq', 3) WHERE id='24099'");
Ca me donne << qq >>.
Donc en fait ça ne prend pas la valeur du champs mais litteralement << tsqq >>.
Or je ne voit pas comment faire autrement qu'avec les simples guillemets autour du champ 'tsqq' pour que sql comprennent qu'il s'agit d'un champs et pas de texte.
-

UsagiYojimbo - WRInaute accro

- Messages: 8579
- Inscription: 23 Nov 2005
Re: substr() me fait des trucs bizarre
- Code: Tout sélectionner
mysql_query("UPDATE tsqq SET tsqq=SUBSTR(tsqq, 3) WHERE id=24099");
- noel2008
- WRInaute discret

- Messages: 89
- Inscription: 16 Nov 2008
Re: substr() me fait des trucs bizarre
Ouais c'est bon fallait mettre SUBSTR(`tsqq`, 3) en fait.
Bon déjà c'était marqué nul part et en plus... ouais non rien d'autre mais ça m'a saoulé de le trouver par hasard quoi
Bon ben merci, c'est résolu !
Bon déjà c'était marqué nul part et en plus... ouais non rien d'autre mais ça m'a saoulé de le trouver par hasard quoi
Bon ben merci, c'est résolu !
- noel2008
- WRInaute discret

- Messages: 89
- Inscription: 16 Nov 2008
Re: substr() me fait des trucs bizarre
Heu non c'est pas résolu en fait 
Ça marche pas si je met deux chiffres (le 2 et le -9 dans l'exemple)
mysql_query("UPDATE tsqq SET tsqq=SUBSTR(`tsqq`, 2, -9) WHERE id=24099");
Ça ne marche que si je ne met qu'un chiffre, or en en mettant qu'un seul, on ne peut pas supprimer des lettres à la fin.
A la limite je peut peut-être faire un truc style : tsqq=tsqq - SUBSTR(`tsqq`, -9)
Y'a moyen de faire un truc dans ce genre là ?
Ça marche pas si je met deux chiffres (le 2 et le -9 dans l'exemple)
mysql_query("UPDATE tsqq SET tsqq=SUBSTR(`tsqq`, 2, -9) WHERE id=24099");
Ça ne marche que si je ne met qu'un chiffre, or en en mettant qu'un seul, on ne peut pas supprimer des lettres à la fin.
A la limite je peut peut-être faire un truc style : tsqq=tsqq - SUBSTR(`tsqq`, -9)
Y'a moyen de faire un truc dans ce genre là ?
- webmasterdemonsite
- WRInaute passionné

- Messages: 1095
- Inscription: 31 Aoû 2007
Re: substr() me fait des trucs bizarre
et SUBSTR en minuscule?
- noel2008
- WRInaute discret

- Messages: 89
- Inscription: 16 Nov 2008
Re: substr() me fait des trucs bizarre
Non ça ne change rien. (j'avais déjà testé mais par acquis de conscience j'ai rééssayé, même résultat)
En fait ce que je trouve bizarre c'est que ça marche parfaitement avec un chiffre, mais pas avec 2.
En fait ce que je trouve bizarre c'est que ça marche parfaitement avec un chiffre, mais pas avec 2.
- webmasterdemonsite
- WRInaute passionné

- Messages: 1095
- Inscription: 31 Aoû 2007
Re: substr() me fait des trucs bizarre
noel2008 a écrit:mysql_query("UPDATE `tsqq` SET `tsqq`= SUBSTR('tsqq', 12)");
esais ca: ?
- Code: Tout sélectionner
mysql_query("UPDATE tsqq SET tsqq='SUBSTR('tsqq', 12)' WHERE id=24099");
UPDATE tsqq
SET tsqq
WHERE id=24099"
-

erestrebian - WRInaute occasionnel

- Messages: 473
- Inscription: 15 Juin 2007
Re: substr() me fait des trucs bizarre
webmasterdemonsite a écrit:mysql_query("UPDATE `tsqq` SET `tsqq`= SUBSTR('tsqq', 12)");
et si tu mettais
- Code: Tout sélectionner
mysql_query("UPDATE `tsqq` SET `tsqq`= " . substr('tsqq', 12) .";");
je sais pas si ça peut changer grand chose mais ça me parait plus propre si tu veux utiliser la fonction php... il me semble que la fonction mysql s'appelle SUBSTRING!
le fonctionnement bizarre vient à mon avis de la confusion des langages...
16 messages
• Page 1 sur 2 • 1, 2
Lectures recommandées sur ce thème :
- Problème substr
- [PHP]Fonction substr()
- Fonction substr PHP
- [resolu (je suis un boulet dsl)]PHP => Pb avec substr
- Bizarre vous avez dits bizarre ces links sur mon nom
- Les résultats complémentaires, bizarre vous avez dit bizarre
- Bizarre bizarre: deux domaines connus par Google pour 1 site
- Yahoo voyage.... bizarre bizarre
- ai-je oublié des trucs?
- Google Trucs de Pros
- Le cadeau de Noël 2007 de Google AdSense - 06-12-2007
- Sortie d'un nouveau livre sur Google - 13-09-2004
- Elgoog : le miroir de Google - 02-02-2003
- Google News : trucs et astuces - 13-01-2005
- Forum Google Analytics sur WebRankInfo - 07-09-2009
- Nouveautés dans l'API Google Analytics (Septembre 2009) - 19-09-2009
- Trucs et astuces pour l'optimisation du référencement local - 02-03-2009
- Résultats financiers de Google au 1er trimestre 2010 (T1 2010) - 16-04-2010
Qui est en ligne
Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités
