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: