stmt を実行した結果として、データの行を取得している場所が表示されます (予想される)。
ただし、get_result()
メソッドを使用して を返すmysqli::result
場合、結果のインスタンスにはフィールドがありません (予想外に、5 つのフィールドがあるはずです)。
これには、恥ずかしいほど単純な側面がありません。
if ($stmt = $mysqli->prepare("SELECT * FROM teachers WHERE teacher_id = ? LIMIT 1")) {
$stmt->bind_param('i', $id);
$stmt->execute();
$stmt->store_result();
// output = 1 (expected)
echo $stmt->num_rows . "<br />";
$result = $stmt->get_result();
// no output, expecting '5'
echo $result->field_count . "<br />";
// Close statement object
$stmt->close();
}
else {
/* Error */
die ("Prepared Statement Error: " . $mysqli->error);
}