mysqli_stmt::attr_set
mysqli_stmt_attr_set
(PHP 5, PHP 7)
mysqli_stmt::attr_set -- mysqli_stmt_attr_set — プリペアドステートメントの振る舞いを変更する
説明
オブジェクト指向型
public mysqli_stmt::attr_set
( int $attr
, int $mode
) : bool
手続き型
mysqli_stmt_attr_set
( mysqli_stmt $stmt
, int $attr
, int $mode
) : bool
プリペアドステートメントの振る舞いを変更します。 複数の属性を設定するには、この関数を複数回コールします。
パラメータ
stmt
手続き型のみ: mysqli_stmt_init() が返すステートメント ID。
attr
設定したい属性。次のいずれかの値となります。
属性の値 文字 説明 MYSQLI_STMT_ATTR_UPDATE_MAX_LENGTH true
に設定すると、mysqli_stmt_store_result() はメタデータ
MYSQL_FIELD->max_length
の値を上書きします。MYSQLI_STMT_ATTR_CURSOR_TYPE mysqli_stmt_execute() が起動された際にステートメントをオープンするためのカーソル型。
mode
は、MYSQLI_CURSOR_TYPE_NO_CURSOR
(デフォルト) あるいはMYSQLI_CURSOR_TYPE_READ_ONLY
となります。MYSQLI_STMT_ATTR_PREFETCH_ROWS カーソルの使用時にサーバーからいちどに取得する行数。 mode
に指定できる値の範囲は 1 から unsigned long の最大値までで、デフォルトは 1 です。MYSQLI_STMT_ATTR_CURSOR_TYPE
オプションでMYSQLI_CURSOR_TYPE_READ_ONLY
を使用すると、 mysqli_stmt_execute() を起動した際にそのステートメント用のカーソルをオープンします。 以前に mysqli_stmt_execute() をコールした際にオープンしたカーソルが残っている場合は、 それを閉じてから新しいカーソルをオープンします。また mysqli_stmt_reset() も、オープンしているカーソルをすべて閉じてからステートメント再実行の準備をします。 mysqli_stmt_free_result() は、オープンしているカーソルをすべて閉じます。プリペアドステートメント用のカーソルをオープンするのなら mysqli_stmt_store_result() は不要です。
mode
属性に割り当てるモード。