ciao a tutti, mi sto impratichendo sull'utilizzo del MySql per creare e popolare database...credo, spulciando fra le guide pubblicate su questo sito, di aver trovato un errore nel codice PHP per l'utilizzo dei Prepared Statement, utili se non si vuole perdere tempo a creare ogni volta una query.
Questo è il codice:

<?php
$mysql = new mysqli('localhost', 'root', '', 'test_html_it');

$stmt_1 = $mysql->prepare("SELECT * FROM numeri WHERE valore = ?");
$stmt_2 = $mysql->prepare("INSERT INTO numeri VALUES (?)");
for($i = 0; $i < 100; ++$i)
{
$stmt_2->execute($i);
}
for($i = 0; $i < 100; $i += 7)
{
$results = $stmt_1->execute($i);
$result = $results->fetch_assoc();
echo "Valore recuperato: ".$result['value']."
";
}
$mysql->close();
?>
Passando, con la chiamata "execute", un parametro all'oggetto che si crea in $stmt_2, il server risponde che non possiamo passare più di 0 parametri per l'utilizzo di quella funzione. Cosa impossibile perchè è specificato nel "prepare" il ?, che determina il parametro dato come input.
Provatelo anche voi se avete voglia e ditemi cosa ne pensate (sempre che il problema non sia stato già risolto altrove...:P).
Grazie dell'aiuto.

Leonardo