Page 1 sur 1
Problème de % dans une requete via mysql de easyphp 1.6
Posté : 12 juil. 2005, 20:45
par Snoops
Bonjour,
Je veux afficher toutes les personnes dont '$mot' est compris, ma requete est bien la suivante? :
$query_nom="select nom, prenom from utilisateur where nom='%$mot%';";
$result_nom=mysql_query($query_nom);
Ou en my_sql ce n'est pas le % qu'il faut utiliser?
Car dès que je l'enleve ma requete fonctionne, mais du coup ca ne m'interesse plus...
Posté : 12 juil. 2005, 21:02
par Cyrano
essaye:
$query_nom="SELECT nom, prenom FROM utilisateur WHERE nom LIKE '%".$mot."%';";
Posté : 12 juil. 2005, 21:40
par Snoops
essaye:
$query_nom="SELECT nom, prenom FROM utilisateur WHERE nom LIKE '%".$mot."%';";
Ca ne fonctionne toujours pas !!!
Voici mon code sans % :
$query_demandeur="select nom, prenom from utilisateur where nom='$demandeur';";
$result_demandeur=mysql_query($query_demandeur);
while($ligne_demandeur=mysql_fetch_object($result_demandeur))
{
echo "<br> nom : ".$ligne_demandeur->nom." ; prenom : ".$ligne_demandeur->prenom." ;";
}
Quand j'affiche $demandeur j'ai bien une valeur correspondante a celle que je lui ai rentrée.
Posté : 12 juil. 2005, 21:54
par Cyrano
Tu as quoi comme retour : alors que tu sais qu'il y a un résultat dans la base rien ou un message d'erreur et dans ce cas quel message ?
As-tu essayé de faire afficher la requête générée pour la tester ensuite directement dans phpMyAdmin ?
Posté : 12 juil. 2005, 22:04
par Snoops
Oui dans Easyphp il n'aime pas non plus le '%' c'est pour ca que j'avais demandé si c'était bien ca pour mysql.
Désolé j'aurais peut etre du commencé par la

.
En fait il ne retourne aucune erreure, il me dit que la requete c'est executée avec succes et c'est tout si je ne met qu'une partie d'un nom. Par contre si je le met en entier et sans les '%' il m'affiche une ligne... avec les '%' il ne m'affiche rien

Posté : 12 juil. 2005, 22:36
par Cyrano
Essaye en ne mettant un % que d'un coté puis de l'autre pour voir le résultat : donc ça voudrait dire rechercher une expression commençant par $mot et la suivante une expression finissant par $mot
Posté : 12 juil. 2005, 22:51
par Snoops
Essaye en ne mettant un % que d'un coté puis de l'autre pour voir le résultat : donc ça voudrait dire rechercher une expression commençant par $mot et la suivante une expression finissant par $mot
Toujours rien.
Au fait je sais pas si ca a a voir ou pas mais je suis sur easy php 1.6.
Posté : 12 juil. 2005, 22:53
par Cyrano
Aucune importance, c'Est MySQL qui traite ça: fais afficher et mets moi ici ce que ça génère comme requête ? (la requête qui sera envoyée, pas la chaine PHP bien sur)
Posté : 12 juil. 2005, 23:25
par Snoops
Aucune importance, c'Est MySQL qui traite ça: fais afficher et mets moi ici ce que ça génère comme requête ? (la requête qui sera envoyée, pas la chaine PHP bien sur)
Voila ce qu'il m'affiche lorsque j'execute ma requete (select nom, prenom from utilisateur where nom='%ell%';) :
Votre requête SQL a été exécutée avec succès
requête SQL :
select nom, prenom from utilisateur where nom='%ell%' LIMIT 0, 30
alors que si je met ca :
requête SQL
requête SQL : [Modifier]
select nom, prenom from utilisateur where nom='pellardy' LIMIT 0, 30
nom prenom
Modifier Effacer PELLARDY DORIAN
ca me l'affiche correctement...

Posté : 12 juil. 2005, 23:40
par Cyrano
Ok, alors tu auraispeut-être bien grand intérêt à explorer les
expressions régulières intégrée dans MySQL
Posté : 13 juil. 2005, 08:03
par pjl
requête SQL :
select nom, prenom from utilisateur where nom='%ell%' LIMIT 0, 30
1er post de Cyrano suite à ta question :
remplacer le = par LIKE puisque tu utilises le jokker %.
Ensuite, ta version d'EasyPHP est un peu dépassée. On en est quand même à la 1.8.
Posté : 13 juil. 2005, 12:11
par Snoops
requête SQL :
select nom, prenom from utilisateur where nom='%ell%' LIMIT 0, 30
1er post de Cyrano suite à ta question :
remplacer le = par LIKE puisque tu utilises le jokker %.
Ensuite, ta version d'EasyPHP est un peu dépassée. On en est quand même à la 1.8.
J'avais meme pas vu le 'LIKE' de cyrano, des fois je vous jure ... je suis à la masse.
Je viens de m'en apercevoir avant de venir lire ton post j'allais m'etre ma c******e, mon erreur

, que je venais de comprendre.
Mais merci beaucoup a vous tous