Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > it.comp.www.php > #22578

Re: operatore jolly mysql

From Alessandro Pellizzari <shuriken@amiran.it>
Newsgroups it.comp.www.php
Subject Re: operatore jolly mysql
Date 2019-02-15 16:56 +0000
Message-ID <gco99eF10bjU1@mid.individual.net> (permalink)
References (10 earlier) <20190214174108.2abed106@nntp.aioe.org> <gclljtFdrheU1@mid.individual.net> <20190214182513.6b05fdb3@nntp.aioe.org> <gcm4sqFh6tdU1@mid.individual.net> <20190215110119.6a1511c2@nntp.aioe.org>

Show all headers | View raw


On 15/02/2019 10:01, Enrico Maria Chellini wrote:

> in verità ho trovato in diversi toutorial addslashes ;

Lo so, purtroppo. Sono tutti sbagliati.
addslashes funzionicchia solo in certi casi particolari e solo con MySQL.

> htmlspecialchars in questo caso non serve ma per campi di testo mi leva
> tutti i vari % & $ è à etc.

Ma ti maciulla i dati nel DB trasformandoli in HTML (da cui il nome 
della funzione).

Se un domani vuoi servirli, per esempio, via JSON a un'app Android ti 
trovi tutto il testo massacrato.

> ///// creo l'array $wheres
>    $wheres[]=$categoria;
>    $wheres[]=$online;

No. Così ti fai solo del male. :)

$wheres['catergoria'] = $categoria;

È importante che l'indice dell'array sia il nome della colonna sul DB, 
così questo:

>   $cond01=" AND provincia=?";

Lo puoi scrivere così:

$cond01 = " AND provincia = :provincia ";

Che è quello che facevo io nell'esempio con questo pezzo di codice:

$query .= implode(
     ' and ',
     array_map(
       function($k) { return $k . ' = :' .$k; },
       array_keys($wheres)
     )
   );

(c'era un bug: mancava array_keys)

Questo ti mette automaticamente l'AND tra una condizione e l'altra senza 
doverlo specificare a mano e senza dover controllare se ci sono altre 
condizioni prima o dopo, e quell'array_map trasforma gli indici 
dell'array ('privincia', 'categoria', ecc.) in placeholder per PDO 
('provincia = :provincia', 'categoria = :categoria', ecc.)

> //// aggiungo i limiti che vengono dato dal sorgente,  non dovrebbero
> creare falle, giusto?
> 
>   '.$pa.', '.$pb.'');

Se non vengono dal client, vai tranquillo. In generale, per stare 
davvero tranquillo, forzali in interi, così al massimo diventano 0 e 0 e 
non torna niente.

> funzionare funziona ci sono falle?

Vedi sopra. Falle non ce ne sono, ma usare ? al posto dei named 
placeholder ti costringe a tenere conto della posizione dei placeholder 
nell'array.

Bye.

Back to it.comp.www.php | Previous | NextPrevious in thread | Next in thread | Find similar | Unroll thread


Thread

operatore jolly mysql Enrico Maria Chellini <bitit@bitit.it> - 2019-02-13 12:28 +0100
  Re: operatore jolly mysql Enrico Maria Chellini <bitit@bitit.it> - 2019-02-13 16:11 +0100
    Re: operatore jolly mysql fmigliori <fmigliori@gmail.com> - 2019-02-13 12:30 -0800
      Re: operatore jolly mysql Enrico Maria Chellini <bitit@bitit.it> - 2019-02-14 11:30 +0100
        Re: operatore jolly mysql Alessandro Pellizzari <shuriken@amiran.it> - 2019-02-14 10:42 +0000
          Re: operatore jolly mysql Enrico Maria Chellini <bitit@bitit.it> - 2019-02-14 11:48 +0100
            Re: operatore jolly mysql Alessandro Pellizzari <shuriken@amiran.it> - 2019-02-14 10:54 +0000
              Re: operatore jolly mysql Enrico Maria Chellini <bitit@bitit.it> - 2019-02-14 12:00 +0100
                Re: operatore jolly mysql Enrico Maria Chellini <bitit@bitit.it> - 2019-02-14 16:23 +0100
                Re: operatore jolly mysql logica mente <npaolini_no_spam_@ennepisoft.it> - 2019-02-14 16:57 +0100
                Re: operatore jolly mysql Alessandro Pellizzari <shuriken@amiran.it> - 2019-02-14 16:11 +0000
                Re: operatore jolly mysql logica mente <npaolini_no_spam_@ennepisoft.it> - 2019-02-14 18:41 +0100
                Re: operatore jolly mysql Enrico Maria Chellini <bitit@bitit.it> - 2019-02-14 17:21 +0100
                Re: operatore jolly mysql Alessandro Pellizzari <shuriken@amiran.it> - 2019-02-14 16:48 +0000
                Re: operatore jolly mysql Alessandro Pellizzari <shuriken@amiran.it> - 2019-02-14 16:05 +0000
                Re: operatore jolly mysql Enrico Maria Chellini <bitit@bitit.it> - 2019-02-14 17:41 +0100
                Re: operatore jolly mysql Alessandro Pellizzari <shuriken@amiran.it> - 2019-02-14 17:08 +0000
                Re: operatore jolly mysql Enrico Maria Chellini <bitit@bitit.it> - 2019-02-14 18:25 +0100
                Re: operatore jolly mysql Alessandro Pellizzari <shuriken@amiran.it> - 2019-02-14 21:28 +0000
                Re: operatore jolly mysql Enrico Maria Chellini <bitit@bitit.it> - 2019-02-15 11:01 +0100
                Re: operatore jolly mysql Alessandro Pellizzari <shuriken@amiran.it> - 2019-02-15 16:56 +0000
                Re: operatore jolly mysql Enrico Maria Chellini <bitit@bitit.it> - 2019-02-15 18:47 +0100
                Re: operatore jolly mysql Enrico Maria Chellini <bitit@bitit.it> - 2019-02-15 19:41 +0100
                Re: operatore jolly mysql Enrico Maria Chellini <bitit@bitit.it> - 2019-02-16 13:01 +0100
                Re: operatore jolly mysql Enrico Maria Chellini <bitit@bitit.it> - 2019-02-16 15:35 +0100
                Re: operatore jolly mysql Enrico Maria Chellini <bitit@bitit.it> - 2019-02-16 16:18 +0100
                Re: operatore jolly mysql Enrico Maria Chellini <bitit@bitit.it> - 2019-02-15 12:47 +0100
                Re: operatore jolly mysql Enrico Maria Chellini <bitit@bitit.it> - 2019-02-15 14:07 +0100
                Re: operatore jolly mysql Enrico Maria Chellini <bitit@bitit.it> - 2019-02-15 15:08 +0100
                Re: operatore jolly mysql Enrico Maria Chellini <bitit@bitit.it> - 2019-02-15 15:41 +0100
                Re: operatore jolly mysql fmigliori <fmigliori@gmail.com> - 2019-02-15 07:44 -0800
                Re: operatore jolly mysql Enrico Maria Chellini <bitit@bitit.it> - 2019-02-15 17:28 +0100
                Re: operatore jolly mysql fmigliori <fmigliori@gmail.com> - 2019-02-15 10:27 -0800
                Re: operatore jolly mysql Enrico Maria Chellini <bitit@bitit.it> - 2019-02-15 20:15 +0100
                Re: operatore jolly mysql fmigliori <fmigliori@gmail.com> - 2019-02-15 11:37 -0800
                Re: operatore jolly mysql Enrico Maria Chellini <bitit@bitit.it> - 2019-02-16 16:02 +0100
                Re: operatore jolly mysql Enrico Maria Chellini <bitit@bitit.it> - 2019-02-21 12:21 +0100
                Re: operatore jolly mysql fmigliori <fmigliori@gmail.com> - 2019-02-21 04:33 -0800
                Re: operatore jolly mysql Enrico Maria Chellini <bitit@bitit.it> - 2019-02-21 14:37 +0100
                Re: operatore jolly mysql Enrico Maria Chellini <bitit@bitit.it> - 2019-02-21 16:27 +0100
                Re: operatore jolly mysql Enrico Maria Chellini <bitit@bitit.it> - 2019-02-21 12:39 +0100
                Re: operatore jolly mysql fmigliori <fmigliori@gmail.com> - 2019-02-21 04:43 -0800
                Re: operatore jolly mysql Enrico Maria Chellini <bitit@bitit.it> - 2019-02-21 14:38 +0100

csiph-web