PHP mysqli options() 函数

定义和用法

options() / mysqli_options() 函数用于设置额外的连接选项并影响连接的行为。

注意:此函数应在 init() 之后和 real_connect() 之前调用。

实例

例子 1 - 面向对象风格

设置额外的连接选项:

<?php
$mysqli = mysqli_init();
if (!$mysqli) {
  die("mysqli_init failed");
}

// 指定连接超时
$con -> options(MYSQLI_OPT_CONNECT_TIMEOUT, 10);

// 指定从命名文件而不是 my.cnf 读取选项
$con -> options(MYSQLI_READ_DEFAULT_FILE, "myfile.cnf");

$con -> real_connect("localhost","my_user","my_password","my_db");
?>

例子 2 - 过程式风格

设置额外的连接选项:

<?php
$con = mysqli_init();
if (!$con) {
  die("mysqli_init failed");
}

// 指定连接超时
mysqli_options($con, MYSQLI_OPT_CONNECT_TIMEOUT, 10);

// 指定从命名文件而不是 my.cnf 读取选项
mysqli_options($con, MYSQLI_READ_DEFAULT_FILE, "myfile.cnf");

mysqli_real_connect($con,"localhost","my_user","my_password","my_db");
?>

语法

面向对象风格:

$mysqli -> options(option, value)

过程式风格:

mysqli_options(connection, option, value)
参数 描述
connection 必需。指定要使用的 MySQL 连接。
option

必需。指定要设置的选项。可以是以下值之一:

  • MYSQLI_OPT_CONNECT_TIMEOUT - 设置连接超时(秒)
  • MYSQLI_OPT_LOCAL_INFILE - 启用/禁用使用 LOAD LOCAL INFILE
  • MYSQLI_INIT_COMMAND - 设置连接 MySQL 服务器后执行的命令
  • MYSQLI_READ_DEFAULT_FILE - 从命名文件而不是 my.cnf 读取选项
  • MYSQLI_READ_DEFAULT_GROUP - 从 my.cnf 或 MYSQLI_READ_DEFAULT_FILE 指定的文件中的命名组读取选项
  • MYSQLI_SERVER_PUBLIC_KEY - 设置用于基于 SHA-256 身份验证的 RSA 公钥文件
  • MYSQLI_OPT_NET_CMD_BUFFER_SIZE - 仅适用于 mysqlnd
  • MYSQLI_OPT_NET_READ_BUFFER_SIZE - 仅适用于 mysqlnd
  • MYSQLI_OPT_INT_AND_FLOAT_NATIVE - 仅适用于 mysqlnd
  • MYSQLI_OPT_SSL_VERIFY_SERVER_CERT - 仅适用于 mysqlnd
value 必需。指定选项的值。

技术细节

返回值: 成功时返回 TRUE。失败时返回 FALSE。
PHP 版本: 5+
PHP 更新日志:

PHP 5.5:添加了 MYSQLI_SERVER_PUBLIC_KEY 选项。

PHP 5.3:添加了以下选项:

  • MYSQLI_OPT_INT_AND_FLOAT_NATIVE
  • MYSQLI_OPT_NET_CMD_BUFFER_SIZE
  • MYSQLI_OPT_NET_READ_BUFFER_SIZE
  • MYSQLI_OPT_SSL_VERIFY_SERVER_CERT