PHP / MySQL面向对象的mysqli将无法连接

时间:2017-06-23 17:45:58

标签: php mysql mysqli

我在这里有一个相当简单的脚本,我无法开始工作:

<?php
    $host='localhost';
    $user='root';
    $passwd='password';
    $db='cherry_pie';

    echo 'Accessing database...<br/>';
    $mysql_conn = new mysqli($host, $user, $passwd, $db);
    if($mysql_conn->connect_error) die($mysql_conn->connect_error);
?>

我浏览器的结果很简单:

  

访问数据库......

此外,转置后网页没有发生变化

if($mysql_conn->connect_error) die($mysql_conn->connect_error);

print_r($mysql_conn);

让我相信永远不会创建$ mysql_conn。

我目前正在运行ubuntu 16.04并且我已经运行

sudo apt install php-mysql
sudo apt install mysql-server
sudo apt install mysql-client

此外,我已经通过shell运行mysql并且可以验证数据库&#39; cherry_pie&#39;确实存在。

显然我的apache2服务器启动并运行,我已经有了其他可以正常运行的html文档和php脚本。

我已经花了好几个小时搜索php和mysql文档,并且我已经在这个网站上提到了其他几个帖子但没有用,所以任何帮助都将不胜感激。

<小时/> 修改

我也尝试过使用mysqli_connect(),但是没有用。

这是我的错误日志所说的内容:

  

[Fri Jun 23 13:10:3​​8.214070 2017] [:error] [pid 12584] [client 127.0.0.1:56418] PHP致命错误:未捕获错误:Class&#39; mysqli&#39;在/var/www/html/php_test.php:8 \ nStack trace中找不到:\ n#0 {main} \ n在第8行的/var/www/html/php_test.php中引用,引用:{{3} }

3 个答案:

答案 0 :(得分:3)

您遇到的症状表明您的MySQLi库未被当前的PHP版本加载。

  

修改

加载MySQL IS 后,您的mysqli_模块已加载 NOT 。所以请看上面的链接。

答案 1 :(得分:0)

你拼错了$ mysql_conn

    //Replace
        if($mysql_conn->connect_error) die(%mysql_conn->connect_error);
    //With
        if($mysql_conn->connect_error) die($mysql_conn->connect_error);

//He edited the post and corrected his spelling mistakes disregard this suggestion.

答案 2 :(得分:0)

修改

如果要创建新的mysqli连接对象,则必须遵循以下规则:

if($mysqli_conn->error) die($mysqli_conn->error);