オプションを設定する

# mysqli::options

# mysqli_options

(PHP 5, PHP 7, PHP 8)

mysqli::options -- mysqli_options — オプションを設定する

### 説明

オブジェクト指向型

public function mysqli::options(int `$option`, string|int `$value`): bool

手続き型

function mysqli_options(mysqli `$mysql`, int `$option`, string|int `$value`): bool

接続に関する追加オプションを設定し、 接続の振る舞いに影響を与えるために使用します。

この関数は、いくつかのオプションを設定して複数回コールされることがあります。

mysqli_options() は、 mysqli_init() がコールされた後、 mysqli_real_connect() の前にコールしなければなりません。

### パラメータ

`link`
  手続き型のみ: mysqli_connect() あるいは mysqli_init() が返す mysqliオブジェクト。
`option`

  指定するオプション。以下の値のいずれかです。

  使用可能なオプション
  名前 | 説明
  --- | ---
  `MYSQLI_OPT_CONNECT_TIMEOUT` | 接続のタイムアウト秒数
  `MYSQLI_OPT_READ_TIMEOUT` | コマンドの実行結果が返ってくるまでのタイムアウト秒数。PHP 7.2.0 以降で利用可能です。
  `MYSQLI_OPT_LOCAL_INFILE` | `LOAD LOCAL INFILE` の使用可/不可。
  `MYSQLI_OPT_LOAD_DATA_LOCAL_DIR` | `LOAD DATA LOCAL INFILE` で使用するディレクトリ。
  `MYSQLI_INIT_COMMAND` | MySQL サーバーへの接続後に実行するコマンド。
  `MYSQLI_SET_CHARSET_NAME` | 文字コードのデフォルト値
  `MYSQLI_READ_DEFAULT_FILE` | my.cnf の代わりに、指定した名前のファイルから 設定を読み込みます。 mysqlnd ではサポートされていません。
  `MYSQLI_READ_DEFAULT_GROUP` | my.cnf の指定した名前のグループ、あるいは `MYSQL_READ_DEFAULT_FILE` で指定したファイルから 設定を読み込みます。 mysqlnd ではサポートされていません。
  `MYSQLI_SERVER_PUBLIC_KEY` | RSA 公開鍵ファイル。SHA-256 ベースの認証で使います。
  `MYSQLI_OPT_NET_CMD_BUFFER_SIZE` | 内部のコマンド／ネットワークバッファのサイズ。 mysqlnd でのみ有効です。
  `MYSQLI_OPT_NET_READ_BUFFER_SIZE` | MySQL コマンドパケットのボディを読み込むときの、読み込みチャンクの最大バイト数。 mysqlnd でのみ有効です。
  `MYSQLI_OPT_INT_AND_FLOAT_NATIVE` | プリペアドステートメントを使わない場合に、 integer 型と float 型のカラムを PHP の数値に変換します。 mysqlnd でのみ有効です。
  `MYSQLI_OPT_SSL_VERIFY_SERVER_CERT` | サーバーの証明書を検証するかしないかを指定します。
  `MYSQLI_OPT_CAN_HANDLE_EXPIRED_PASSWORDS` | クライアントが期限切れのパスワードを受け入れるかどうかを指定します。
  `1` | ネットワーク通信の圧縮を使用するかどうかを指定します。

`value`

  オプションに設定する値。

### 戻り値

成功した場合に `true` を、失敗した場合に `false` を返します。

### エラー / 例外

mysqli のエラー報告 (`MYSQLI_REPORT_ERROR`) が有効になっており、かつ要求された操作が失敗した場合は、警告が発生します。さらに、エラー報告のモードが `MYSQLI_REPORT_STRICT` に設定されていた場合は、mysqli_sql_exception が代わりにスローされます。

### 例

mysqli_real_connect() を参照ください。

### 注意

> 注意: MySQLnd は常に、サーバーのデフォルト文字セットを想定しています。この文字セットは接続時の ハンドシェイク/認証 のときに送信され、これを mysqlnd が使います。 Libmysqlclient が使うデフォルトの文字セットは my.cnf で設定したものです。あるいは明示的に mysqli_options() をコールして設定することもできます。 これは、mysqli_init() のあとで mysqli_real_connect() を実行する前にコールします。

### 参考

- mysqli_init() - MySQLi を初期化し、mysqli_real_connect() で使うオブジェクトを返す
- mysqli_real_connect() - mysql サーバーとの接続をオープンする

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open