如何使此功能与php 7.2一起使用?

时间:2018-08-01 20:58:28

标签: php mysql database select migration

我有一段这段代码可以与php5.6很好地配合,但与php7.2一起破坏了。 我相信我有3个错误,并且能够修复2个错误:)

$link = mysql_connect($hostname, $username, $password);
if (!$link) {
    die('Could not connect !');
    exit();
}
else{
    mysql_set_charset('utf8',$link);
    mysql_select_db($database, $link) or die('Could not select database.');
    }

这是我到目前为止所拥有的

$link = mysqli_connect($hostname, $username, $password);
if (!$link) {
    die('Could not connect !');
    exit();
}
else{
    mysqli_set_charset('utf8',$link);
    mysqli_select_db($database, $link) or die('Could not select database.');
    }

致命错误,与mysql_select_db()

如何使此功能与php 7.2一起使用?任何帮助将不胜感激,在此先感谢您!

1 个答案:

答案 0 :(得分:2)

mysqli_* API要求数据库连接首先出现(不同于旧的且已弃用的mysql_* API,PHP 7.2中不再支持该连接):

$link = mysqli_connect($hostname, $username, $password);
if (!$link) {
    die('Could not connect !');
    exit();
}
else{
    mysqli_set_charset($link, 'utf8');
    mysqli_select_db($link, $database) or die('Could not select database.');
    }

参考文献:

请确保您确实为$database变量分配了内容;那不包含在您的帖子中。

编辑:如Riggs的评论所述,您可以使用4个参数代替连接。

即:

$link = mysqli_connect($hostname, $username, $password, $database);

由您选择。

评论:

  

将数据库作为连接的参数4更好。 mysqli_select_db()实际上仅用于当您希望使用相同的连接从一个数据库切换到另一个数据库时– RiggsFolly

...确实。


关于错误:

  

mysql_select_db()的致命错误

我希望您不要将此与其他任何东西混在一起。那些不同的MySQL API不会相互混合。

仅该错误就意味着它是如图所示的“致命”错误,并且是服务器不支持该API的结果。

使用PHP的错误报告并设置为捕获和显示,将(很可能)使您抛出弃用和/或可能不受支持的错误。

参考: