Problème de % dans une requete via mysql de easyphp 1.6

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Problème de % dans une requete via mysql de easyphp 1.6

par Snoops » 13 juil. 2005, 12:11

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 %.
:roll: :roll: :roll:

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 :lol: , que je venais de comprendre.
Mais merci beaucoup a vous tous

par pjl » 13 juil. 2005, 08:03

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 %.
:roll: :roll: :roll:

Ensuite, ta version d'EasyPHP est un peu dépassée. On en est quand même à la 1.8.

par Cyrano » 12 juil. 2005, 23:40

Ok, alors tu auraispeut-être bien grand intérêt à explorer les expressions régulières intégrée dans MySQL

par Snoops » 12 juil. 2005, 23:25

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... :?:

par Cyrano » 12 juil. 2005, 22:53

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)

par Snoops » 12 juil. 2005, 22:51

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. :evil:
Au fait je sais pas si ca a a voir ou pas mais je suis sur easy php 1.6.

par Cyrano » 12 juil. 2005, 22:36

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

par Snoops » 12 juil. 2005, 22:04

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 :oops: .

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 :cry:

par Cyrano » 12 juil. 2005, 21:54

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 ?

par Snoops » 12 juil. 2005, 21:40

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.

par Cyrano » 12 juil. 2005, 21:02

essaye:
$query_nom="SELECT nom, prenom FROM utilisateur WHERE nom LIKE '%".$mot."%';"; 

Problème de % dans une requete via mysql de easyphp 1.6

par Snoops » 12 juil. 2005, 20:45

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...