PHP

Binding Dei Parametri

Come avviene l'associazione (binding) tra i segnaposto :u, :e, :p e le variabili contenenti i dati dell'utente. Analizzeremo il funzionamento dell'array associativo dentro il metodo execute.

Durata

45 minuti

Software

Editor di testo

1. Come avviene l'associazione?

Il collegamento avviene nel momento in cui chiamiamo $stmt->execute(). All'interno delle parentesi, passiamo un array associativo.

Osserva attentamente questo schema:

Segnaposto nella Query Chiave nell'array di Execute Variabile PHP (Valore)
:u 'u' $user
:e 'e' $email
:p 'p' $pass_sicura

2. Il codice nel dettaglio

Ecco come scriviamo il comando completo. Nota come le "etichette" (senza i due punti) diventano le chiavi dell'array:


// 1. Definiamo la struttura (lo scaffale con le etichette)
$sql = "INSERT INTO utenti (username, email) VALUES (:u, :e)";
$stmt = $pdo->prepare($sql);

// 2. Eseguiamo l'associazione (mettiamo gli oggetti negli scaffali)
$stmt->execute([
    'u' => $user,  // Associa il valore di $user al segnaposto :u
    'e' => $email  // Associa il valore di $email al segnaposto :e
]);

1 Regole importanti

  • I nomi devono coincidere: Se nella query scrivi :username, nell'array devi scrivere 'username' => ....
  • L'ordine non conta: Essendo un array associativo, potresti mettere la email prima dello username, PDO li accoppierà correttamente usando il nome dell'etichetta.
  • I due punti: Dentro l'array execute, i due punti : davanti alla chiave sono opzionali (si possono omettere per pulizia).

2 Esercitazione: Cambio Nomi

Per verificare se hai capito, prova a modificare la query nel tuo file registrazione.php usando nomi più lunghi e chiari (es. :nome_utente invece di :u).

Domanda: Cosa devi cambiare obbligatoriamente dentro la funzione execute() affinché il codice continui a funzionare?






PDO, Execute, Binding, Array Associativi,