Requête impossible

Fermé
Pither22 Messages postés 4 Date d'inscription mercredi 15 octobre 2014 Statut Membre Dernière intervention 28 octobre 2014 - 15 oct. 2014 à 10:33
Pither22 Messages postés 4 Date d'inscription mercredi 15 octobre 2014 Statut Membre Dernière intervention 28 octobre 2014 - 19 oct. 2014 à 12:16
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 mercredi 13 avril 2011 Statut Membre Dernière intervention 28 septembre 2015 1 339
Modifié par mpmp93 le 18/10/2014 à 21:56
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 mercredi 15 octobre 2014 Statut Membre Dernière intervention 28 octobre 2014
19 oct. 2014 à 00:20
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 mercredi 13 avril 2011 Statut Membre Dernière intervention 28 septembre 2015 1 339
19 oct. 2014 à 10:07
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 mercredi 15 octobre 2014 Statut Membre Dernière intervention 28 octobre 2014
19 oct. 2014 à 12:16
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