[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: [1/2HS] Interrogations MySQL



Le 02/02/16 à 15:52, andre_debian@numericable.fr a écrit :

AF> On Tuesday 02 February 2016 15:25:13 Daniel Caillibaud wrote:
AF> > Le 02/02/16 à 12:09, Sébastien NOBILI <sebnewsletter@free.fr> a écrit :
AF> > Oui, si ton code est du php regarde coté PDO ça va te faciliter la vie en 
AF> écrivant des choses comme
AF> > $query = 'SELECT DISTINCT email, prenom, famille, ville FROM table 
AF> > 		WHERE MATCH (email, prenom, famille, ville) 
AF> > 		AGAINST  (:recherche  IN BOOLEAN MODE)'
AF> > $params = array(
AF> >   ':recherche' => $brief[0] .$brief[1] .$brief[2]
AF> > );
AF> > $resultats = uneFct($query, $params);
AF> > (où uneFct enveloppe un appel à PDO et retourne un tableau, à adapter 
AF> > à tes besoins) 
AF> > Autre remarque, en php la concaténation c'est . et pas +, si $brief[xx] est
AF> > une chaîne ton 
AF> > $brief[0] +$brief[1] +$brief[2] vaut toujours 0
AF> 
AF> Merci à ceux qui m'ont répondu.
AF> 
AF> > Autre remarque, en php la concaténation c'est . et pas + :
AF> 
AF> Les "+"  il me semble l'avoir lu sur le site MySQL.

Pour la concatenation de chaine coté mysql, faut utiliser la fonction concat (qui va marcher
partout, indépendamment du charset d'encodage des tables), je connais pas +

AF> C'est mon script php qui remplace les espaces par des + :
AF> Mot clé : jean dupont paris => jean+dupont+paris

Ça c'est quand tu le passe dans une url, parce que l'espace s'encode "+" (ou "%20") dans une
url.

Mais c'est vraiment très important que tu contrôle ces trucs que php récupère de l'url, parce
qu'un robot aura vite fait de trouver qu'en mettant des trucs du genre

jean+dupont+%3B%20truncate%20table%20toto%3B
 (qui donnera dans ton php un $brief[2] = "; truncate table toto;", ça va planter parce que
 j'ai pas terminé la requête originale, mais tu vois l'idée)

il passe les requêtes qu'il veut sur ta base de données (et en creusant un peu il aura pas trop
de mal à afficher la liste des login/pass par exemple).

AF> On les voit dans les requêtes Google qui utilise la base MySQL.
AF> (du moins revue et corrigée...).
AF> 
AF> Si le mot clé est : jean.dupont paris
AF> ça va bugger.
AF> 
AF> André
AF> 
AF> 


-- 
Daniel

Si ceux qui disent du mal de moi, savaient exactement ce que je
pense d'eux, il en diraient bien d'avantage.
Sacha Guitry


Reply to: