Guida Prepared Statements

Stato
Discussione chiusa ad ulteriori risposte.

Jackss

Utente Bronze
28 Dicembre 2013
31
6
6
48
Prepared Statements
I prepared statement sono delle caratteristiche di PHP che vengono usate per l'esecuzioni di SQL query con maggiore efficienza.

Come funzionano?

  1. Viene creata un "template" di query che verrà inviata al database, i valori saranno sostituiti con dei parametri utilizzano un punto interrogativo "?". Esempio:
    PHP:
    SELECT * FROM data WHERE id = ?
  2. Vengono assegnati ai parametri dei valori tramite l'utilizzo di variabili e specificando che tipo di variabile è (int,string,double,etc..). Esempio:
    PHP:
    bind_param('i',$id);
  3. Viene eseguita la query attraverso funzione "execute()" con i parametri che gli abbiamo passato in precedenza attraverso il binding.

Che vantaggi ha?

  1. Sono veramente utili contro le SQL Injection, questo perché i parametri vengono introdotti successivamente con un protocollo differente e non c'è bisogno di fare alcun escaping dato che viene eseguito nel bind_param.
  2. Tempo di analisi della query molto ridotto in quanto la preparazione della query viene eseguita soltanto una volta.
  3. Minor uso di banda.



Come si utilizzano?

PHP:
$query = "SELECT * FROM data WHERE id = ?";
$query->bind_param('i',$id);
$id = rand(0,10);
$query->execute();

Viene creata una query dove andremo a mettere come parametro per l'id il "?", dopodiché andremo a fare il binding dei dati passando la variabile $id al punto interrogativo della query sopra, la i tra gli apici serve a identificare il tipo di variabile in questo caso Integer.
Infine andiamo a dichiarare la variabile $id (non importa la posizione) e come ultimo passaggio andiamo ad eseguire la query attraverso la funzione execute().

Tipi di variabili
Codice:
i = Integer
s = String
d = double
b = BLOB


Guida creata interamente da me, non copiate senza permesso.
 
  • Mi piace
Reazioni: Kolo93
Stato
Discussione chiusa ad ulteriori risposte.