PHP mysqli real_connect() 函数

定义和用法

real_connect() / mysqli_real_connect() 函数打开一个新的 MySQL 服务器连接。

此函数与 connect() 的不同之处在于:

  • real_connect() 需要由 init() 创建的有效对象
  • real_connect() 可以与 options() 一起使用,为连接设置不同的选项
  • real_connect() 有一个标志参数

实例

例子 1 - 面向对象风格

打开一个新的 MySQL 服务器连接,并设置额外的连接选项:

<?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 - 过程式风格

打开一个新的 MySQL 服务器连接,并设置额外的连接选项:

<?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 -> real_connect(host, username, password, dbname, port, socket, flag)

过程式风格:

mysqli_real_connect(connection, host, username, password, dbname, port, socket, flag)
参数 描述
connection 必需。指定要使用的 MySQL 连接
host 可选。指定主机名或 IP 地址
username 可选。指定 MySQL 用户名
password 可选。指定 MySQL 密码
dbname 可选。指定要使用的默认数据库
port 可选。指定尝试连接 MySQL 服务器的端口号
socket 可选。指定要使用的套接字或命名管道
flag

可选。指定不同的连接选项。可能的值:

  • MYSQLI_CLIENT_COMPRESS - 使用压缩协议
  • MYSQLI_CLIENT_FOUND_ROWS - 返回匹配的行数(而不是受影响的行数)
  • MYSQLI_CLIENT_IGNORE_SPACE - 允许在函数名后使用空格。使函数名成为保留字
  • MYSQLI_CLIENT_INTERACTIVE - 在关闭连接之前允许 interactive_timeout 秒的不活动时间
  • MYSQLI_CLIENT_SSL - 使用 SSL 加密
  • MYSQLI_CLIENT_SSL_DONT_VERIFY_SERVER_CERT

技术细节

返回值: 成功时返回 TRUE。失败时返回 FALSE。
PHP 版本: 5+
PHP 更新日志: PHP 5.6:添加了 MYSQLI_CLIENT_SSL_DONT_VERIFY_SERVER_CERT 标志。