mysql_connect改为mysqli

时间:2017-02-21 18:35:06

标签: php mysql mysqli

我有一些现有的PHP代码,因为我们迁移到PHP 7.0后现在抛出一个致命的错误。使用此Stackoverflow Question我改变了这一行:

$link = mysql_connect($host.':'.$port, $user, $pass) or die("Can not connect." . mysql_error());

到此:

$link = new mysqli($host.':'.$port, $user, $pass);

我现在抛出这个错误,我想这是一些进展。语法似乎很好吗?我错过了什么?

Warning: mysqli::__construct(): (HY000/2002): Connection timed out

2 个答案:

答案 0 :(得分:1)

构造函数类如下所示:

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

所以订单是host, username, password, database, port, socket。您需要在单独的变量中传入端口:

$link = new mysqli($host, $user, $pass, null, $port);

编辑因为我复制了错误的代码...

答案 1 :(得分:0)

尝试使用该功能。

$link = mysqli_connect($host,$user,$pass,$db).

订单是host,user,pass,db

http://php.net/manual/en/function.mysqli-connect.php