Tutti gli esempi che vedo usando mysqli_fetch_object utilizzano mysql_query()
, non riesco a farlo funzionare con istruzioni preparate. Qualcuno sa cosa c'è di sbagliato con questo snippet di codice, come fetch_object restituisce null.È possibile utilizzare mysqli_fetch_object con una dichiarazione preparata
$sql = "select 1 from dual";
printf("preparing %s\n", $sql);
$stmt = $link->prepare($sql);
printf("prepare statement %s\n", is_null($stmt) ? "is null" : "created");
$rc = $stmt->execute();
printf("num rows is %d\n", $stmt->num_rows);
$result = $stmt->result_metadata();
printf("result_metadata %s\n", is_null($result) ? "is null" : "exists");
$rc = $result->fetch_object();
printf("fetch object returns %s\n", is_null($rc) ? "NULL" : $rc);
$stmt->close();
L'output è:
preparing select 1 from dual
prepare statement created
num rows is 0
result_metadata exists
fetch object returns NULL
righe Sicuramente num dovrebbe essere> 0 se vi aspettate un oggetto non nulla da restituire? – jcuenod