Requête impossible

Pither22 Messages postés 4 Date d'inscription   Statut Membre Dernière intervention   -  
Pither22 Messages postés 4 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour à tous !

voilà j'ai un soucis...
Je cherche à faire une requête SELECT dans une BDD.

$findevent1 = $GODB->query('SELECT * FROM cal_events WHERE uuid LIKE "'.$debut_date_conge.'%" AND uuid LIKE "%'.hdebut.'%" AND uuid like "%'.$_login.'%" AND uuid LIKE "%AFC%"');

Et donc là cette requête ne s'exécute pas :/
Alors que lorsque je fais:

$findevent1 = 'SELECT * FROM cal_events WHERE uuid LIKE "'.$debut_date_conge.'%" AND uuid LIKE "%'.hdebut.'%" AND uuid like "%'.$_login.'%" AND uuid LIKE "%AFC%"';


Et que je demande d'écrire le résultat de $findevent1 dans un fichier texte, il m'écris la requête en remplaçant les variables par les bonnes valeurs, le copie/colle ensuite cette requête dans phpMyAdmin, et ça me donne en résultat exactement ce que je veux.

Je tiens à préciser que cette requête est sur une page qui est appelée en Include par une autre page, qui n'utilise pas la même BDD, peut être cela génère-t-il un conflit.

En tout cas je remercie d'avance ceux qui se pencheront sur la question et peut être trouveront une solution.

Cordialement.

2 réponses

mpmp93 Messages postés 6648 Date d'inscription   Statut Membre Dernière intervention   1 340
 
Bonsoir,

Je comprends pas ce que vous faites après WHERE dans la requête.... Vous faites une succession de AND qui portent sur le même champ.

Par exemple, si je fais

WHERE prenom Like '%MARC%' AND prenom Like '%PIERRE%'....

ca ne marchera que si j'ai MARC et PIERRE dans prenom....

Dans votre bdd, uuid c'est quoi????

A+

Le présent est un fragment d'éternité coincé entre le passé et le futur
0
Pither22 Messages postés 4 Date d'inscription   Statut Membre Dernière intervention  
 
Bonjour,

En faite avec cette succession de 'AND' j'indique que le champs 'uuid' que je recherche doit contenir toutes les variables que je fais passer dans ma requête.

exemple:
$debut_date_conge = 2014-10-19;
$hdebut = 08:00:00;
$_login = Pither22;

l'uuid seras : 2014-10-19-08:00:00-Pither22-AFC

L'erreur vient pas de la car j'ai réussi à résoudre mon problème, j'ai tout simplement... changé le nom de ma requête...
C'est bizarre, j'ai remplacé 'findevent1' par 'toto' et hop ! Requête exécutée !

Merci quand même.

A bientôt, cordialement.

Pither
0
mpmp93 Messages postés 6648 Date d'inscription   Statut Membre Dernière intervention   1 340
 
Faire un WHERE xxx Like '%nnn%' mange des ressources et du temps machine.

Vous devriez ventiler votre uuid sur plusieurs champs (je sais pas exactement la signification de vos compsants de UUID):

uuid_date_heure: 2014-10-19 08:00:00
uuid_pseudo Pither22
uuid_origine: AFC

et votre requête SQL deviendra:

$sql = "SELECT TABLE WHERE uuid_dateheure='$date' AND uuid_pseudo='$pseudo' AND uuid_origine='$origine'";
0
Pither22 Messages postés 4 Date d'inscription   Statut Membre Dernière intervention  
 
Merci du conseil, mais le soucis c'est que je ne suis pas partis de zéro, la BDD existait déjà, et certaines contraintes m'obligeaient à ne pas la modifier.
0