刚刚更换服务器,系统环境是 Windows Server 2016 + PHP7.0 + MySQL5.7 + IIS10。 

我的博客系统是Z-Blog,“搬家”之后,打开网站提示如下错误:

Call to undefined function mysql_connect()

可能的错误原因
您在zb_users/c_option.php内配置、或刚才填写的的 MySQL 连接信息是否正确?
您所连接的 MySQL 数据库是否已经成功启动?

如下图所示:

1.png PHP连接MySQL数据库报错:Call to undefined function mysql_connect()的解决方法 教程资料

解决办法:

找到数据库配置文件:/zb_users/c_option.php

'ZC_DATABASE_TYPE' => 'mysql'

查看 ZC_DATABASE_TYPE 是否为【mysqli】或【pdo_mysql】或【mysql】,如果是,尝试改成另外两种。

我这里把 mysql 换成了 mysqli 就 OK 了,代码如下:

'ZC_DATABASE_TYPE' => 'mysqli'

问题原因:

查阅资料发现,从PHP5.0开始就不推荐使用mysql_connect()函数,到了PHP7.0则直接废弃了该函数,替代的函数是:

mysqli_connect();

用法是:

$con=mysqli_connect("localhost","my_user","my_password","my_db");

官方描述:http://php.net/manual/en/function.mysqli-connect.php

正确的测试代码:

<?PHP
    $conn=mysqli_connect("localhost","root","root");
    if($conn){
        echo"ok";
    }else{
        echo"error";    
    }
?>