Buongiorno a tutti,
sto cercando di imparare ad utilizzare MySQLI con i (le) Prepared Statement, nel web ho trovato
questo esempio, che a quanto ho visto nei vari post collegati funziona correttamente, ho provato
ad utilizzarlo cambiando il DB la tabella ed i campi interessati.
Ho settato il gestore errori di PHP al 'massimo' e ho testato la connessione.
Non ricevo alcun messaggio di errore, ma evidentemente la IF
if($stmt = $conn->prepare($query))
non viene eseguita.
La if controlla, a quanto capisco, il bind del parametro alla query, quello che mi pare strano
e' che in effetti il bind viene eseguito dopo la if.
In parole povere non ci capisco nulla...
Aiuto!
Grazie
Codice PHP:
<?php
$conn = new mysqli(DB_HOST, DB_USERNAME, DB_PASS, DATABASE_NAME);
if ($conn->connect_errno) {
hand_error("Errore connessione " , $conn->connect_error );
exit; }
$query = 'SELECT nome, cognome, residenza FROM clienti WHERE residenza = ?';
$residenza ="brescia";
if($stmt = $conn->prepare($query)){
$stmt->bind_param('s',$residenza);
$stmt->execute();
$stmt->store_result();
$num_of_rows = $stmt->num_rows;
$stmt->bind_result($nome, $cognome, $residenza);
while ($stmt->fetch()) {
echo 'Nome: '.$nome.'<br>';
echo 'Cognome: '.$cognome.'<br>';
echo 'Residenza: '.$residenza.'<br>';
}
$stmt->free_result();
$stmt->close();
}
else
{
echo "Non ho superato il controllo ...";
}
$conn->close();