如何通过 mysqli 连接到不同的 MySQL 端口?

anj*_*esh 5 php port mysqli

在 PHP 的mysqli 文档中,它说

mysqli mysqli_connect ([ 字符串 $host = ini_get("mysqli.default_host") [, 字符串 $username = ini_get("mysqli.default_user") [, 字符串 $passwd = ini_get("mysqli.default_pw") [, 字符串 $dbname = "" [, int $port = ini_get("mysqli.default_port") [, string $socket = ini_get("mysqli.default_socket") ]]]]]] )

但当我这样做时

$dblink = new \mysqli($c['host'], $c['user'], $c['pass'], $c['name'], $c['port']);
Run Code Online (Sandbox Code Playgroud)

它连接到默认端口。只有在我这样做之后

$dblink = new \mysqli($c['host'].":".$c['port'], $c['user'], $c['pass'], $c['name'], $c['port']);
Run Code Online (Sandbox Code Playgroud)

它是否连接到正确的端口。

小智 0

连接mysql后,可以查看连接信息。

$dblink = new \mysqli($c['host'], $c['user'], $c['pass'], $c['name'], $c['port']);
if ($dblink->connect_error) {
    die('Connect Error (' . $dblink->connect_errno . ') '. $dblink->connect_error);
}
echo $dblink->host_info;
Run Code Online (Sandbox Code Playgroud)

  • 没有抛出错误/异常。看起来它只是忽略了 mysqli 构造函数中的端口参数。 (2认同)