0

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);
}
4

0 に答える 0