|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||||
|
Candidat au titre de Membre du Club
![]() Inscription : mars 2007 Messages : 74 ![]() |
Bonjour,
Savez vous comment faire une requete du genre : Code :
si je fais un truc du genre : Code :
|
||||
|
|
00
|
|
|
#2 |
|
Membre Expert
![]() ![]() Mathieu ROBINDéveloppeur Web Inscription : mai 2006 Messages : 1 116 ![]() |
Tout dépend du SGBD que tu as derrière. MySQL? SQlite? Postgre? SQL Server? Oracle? ...?
T'as des fonctions propres par SGBD ou si tu utilises un ORM, c'est lui qui se charge, en général, de faire le boulot de requêtage pour toi.
__________________
Mon blog techno et son billet hebdomadaire sur l'actualité jQuery. Et mon blog cuisine pour une personne. Le bouton ne masse pas les pieds, mais ça aide la communauté.
|
|
00
|
|
|
#3 |
![]() ![]() Benjamin DelespierreDéveloppeur Web Inscription : février 2010 Messages : 2 984 ![]() |
Je pense (mais c'est vrai que tu aurais pu le préciser) que skandaboy utilise PDO et PDOStatement. Son problème est l'utilisation de règles like dans des requêtes préparées...
Je ne suis pas sûr que ce soit possible. Dans le pire des cas, tu ne prépares pas la requête (de toute façon avec deux clauses like la pseudo optimisation est rendue caduque) et tu utilise PDO::query.
__________________
A la recherche d'un framework MVC facile a prendre en main ? Essayez Axiom Nouveau: la référence d'Axiom est disponible sur GitHub (je la peaufine en ce moment même). Un problème correctement identifié est à moitié résolu, évitez de poster l'intégralité de votre code avec pour seule explication "ça ne marche pas...". Pour identifier correctement vos problèmes PHP, utilisez la gestion des erreurs et xdebug. Les boutons et existent, servez-vous en
|
|
01
|
|
|
#4 |
![]() ![]() Inscription : septembre 2010 Messages : 7 101 ![]() |
en tout cas pour mysql c'est possible
même si PDO_Mysql par défaut ne fait pas de requête préparées (même avec prepare)
__________________
http://blog.stealth35.com/ |
|
|
00
|
|
|
#5 | |||
![]() ![]() Inscription : octobre 2008 Messages : 1 505 ![]() |
Citation:
Est-ce qu'il y a un message d'erreur et si oui lequel? Est-ce que execute() renvoie true ou false? S'il renvoie true, est-ce que le problème est que les lignes de résultat sont différentes de ce à quoi tu t'attends? |
|||
|
|
00
|
|
|
#6 | ||||||
|
Candidat au titre de Membre du Club
![]() Inscription : mars 2007 Messages : 74 ![]() |
bon j'ai trouvé une astuce. en fait je suis en train de faire un moteur de recherche pour mon site. Donc ce que je veux c récupérer les mots tapés par l'utilisateur et les mettre dans une req sql avec des LIKE par exemple :
Code :
$result->execute(ARRAY( ':titre'=>$mot1, ':titre'=>$mot2,)); En supposant que mot1 et mot2 sont les mots récupérés par exemple. Mais en fait la solution était simple il suffit de faire : Code :
Code :
|
||||||
|
|
00
|
|
|
#7 |
![]() ![]() Inscription : octobre 2008 Messages : 1 505 ![]() |
Mais ce n 'est pas la même chose que les 2 LIKE séparés.
Par exemple si le titre est 'le bois fleuri' et que mot1=fleuri et mot2=bois, alors cette clause-là est vraie: Code :
'le bois fleuri' LIKE '%fleuri%' AND 'le bois fleuri' LIKE '%bois%' Code :
'le bois fleuri' LIKE '%fleuri%%bois%' |
|
|
00
|
|
|
#8 |
|
Candidat au titre de Membre du Club
![]() Inscription : mars 2007 Messages : 74 ![]() |
Ben comment kon fait alors?
|
|
|
00
|
|
|
#9 |
![]() ![]() Inscription : septembre 2010 Messages : 7 101 ![]() |
fait du FULLTEXT (en MyISAM), sinon il faut rassembler les champs dans un seul et faire la recherche dessus
__________________
http://blog.stealth35.com/ |
|
|
00
|
|
|
#10 |
|
Candidat au titre de Membre du Club
![]() Inscription : mars 2007 Messages : 74 ![]() |
En fait j'aimerais faire des req indépendantes de la base. c'est pour ça que je préfère utiliser des LIKE.
|
|
|
00
|
|
|
#11 |
![]() ![]() Inscription : octobre 2008 Messages : 1 505 ![]() |
|
|
|
00
|
|
|
#12 |
|
Candidat au titre de Membre du Club
![]() Inscription : mars 2007 Messages : 74 ![]() |
Ben maintenant ça marche avec ma solution. Mais tu dis qu'il y a un pb. Alors c à toi de m'expliquer je pense.
Je ne comprends pas trop qd tu dis que ma req est fausse ou que la tienne est vraie. Si un utilisateur tape "bois fleuri" ça marche avec ma solution. ça me renvoierra "bois fleuri" je pense j'ai essayé avec d'autres chaines avec plusieurs mots et tout a marché). Alors peus-tu m'expliquer ce que tu veux dire stp? |
|
|
00
|
|
|
#13 |
![]() ![]() Inscription : octobre 2008 Messages : 1 505 ![]() |
L'idée c'est qu'il n'y a pas de problème particulier à faire deux LIKE sur le même champ de table avec PDO. Tu dis que "ça ne marche pas" mais comme tu ne réponds pas quand je te demande quelle est l'erreur et que ma boule de cristal est en panne, je ne vois pas quoi dire de plus.
Si ton problème est résolu tu cliques sur le bouton Résolu et on passe à autre chose. |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com