PHP 7.2.0 Beta 1 Released

mysqli::options

mysqli_options

(PHP 5, PHP 7)

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

説明

オブジェクト指向型

bool mysqli::options ( int $option , mixed $value )

手続き型

bool mysqli_options ( mysqli $link , int $option , mixed $value )

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

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

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

パラメータ

link

手続き型のみ: mysqli_connect() あるいは mysqli_init() が返すリンク ID。

option

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

使用可能なオプション
名前 説明
MYSQLI_OPT_CONNECT_TIMEOUT 接続のタイムアウト秒数 (PHP 5.3.1 以降、Windows 上での TCP/IP 接続をサポートします)。
MYSQLI_OPT_LOCAL_INFILE LOAD LOCAL INFILE の使用可/不可。
MYSQLI_INIT_COMMAND MySQL サーバーへの接続後に実行するコマンド。
MYSQLI_READ_DEFAULT_FILE my.cnf の代わりに、指定した名前のファイルから 設定を読み込みます。
MYSQLI_READ_DEFAULT_GROUP my.cnf の指定した名前のグループ、あるいは MYSQL_READ_DEFAULT_FILE で指定したファイルから 設定を読み込みます。
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

value

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

返り値

成功した場合に TRUE を、失敗した場合に FALSE を返します。

変更履歴

バージョン 説明
5.5.0 MYSQLI_SERVER_PUBLIC_KEY オプションが追加されました。
5.3.0 オプション MYSQLI_OPT_INT_AND_FLOAT_NATIVEMYSQLI_OPT_NET_CMD_BUFFER_SIZEMYSQLI_OPT_NET_READ_BUFFER_SIZE および MYSQLI_OPT_SSL_VERIFY_SERVER_CERT が追加されました。

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 サーバーとの接続をオープンする

add a note add a note

User Contributed Notes 2 notes

up
3
fluppy
10 years ago
Here es little example to create a SSL Connection

<?php

$db
= mysqli_init();

/*
When you want so use a separate cnf
$test = $db->options(MYSQLI_EAD_DEFAULT_FILE,'myother.cnf');
*/

$db->ssl_set('server-key.pem','server-cert.pem',
'cacert.pem',NULL,NULL);

$db->real_connct('localhost','root','','mydb');

//Here some query

$db->close();

?>
up
2
king at bobfish dot org
9 years ago
Example on using mysqli_options to increase size of max_allowed_packet for working with big blobs.

function dbConnect()
{
   $user = 'jomama';
   $pass = 'cartoon';
   $dbName = 'LifeCycle';
   $host = 'localhost';

   $mysqli = mysqli_init();
   mysqli_options($mysqli,MYSQLI_READ_DEFAULT_GROUP,
                                    "max_allowed_packet=50M");
   mysqli_real_connect($mysqli,$host, $user, $pass,$dbName)
                  or die ('<P>Unable to connect</P>');

   return $mysqli;
}
To Top