【发布时间】:2017-11-27 09:01:36
【问题描述】:
我这里有一个相当简单的脚本,我无法开始工作:
<?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,并且可以验证数据库 'cherry_pie' 确实存在。
显然我的 apache2 服务器已启动并正在运行,并且我已经有其他可以正常运行的 html 文档和 php 脚本。
我已经花了几个小时搜索 php 和 mysql 文档,并且我参考了该站点上的其他几篇帖子都无济于事,因此我们将不胜感激。
编辑
我也尝试过使用 mysqli_connect(),但没有成功。
这是我的错误日志必须说的:
[Fri Jun 23 13:10:38.214070 2017] [:error] [pid 12584] [client 127.0.0.1:56418] PHP 致命错误:未捕获的错误:在 /var/www/html 中找不到类“mysqli” /php_test.php:8\n堆栈跟踪:\n#0 {main}\n 在第 8 行的 /var/www/html/php_test.php 中抛出,引用者:http://localhost/
【问题讨论】:
-
您检查过您的 PHP 错误日志吗?您在这一行缺少分号
$mysql_conn = new mysqli($host, $user, $passwd, $db)。 -
$mysql_conn = new mysqli($host, $user, $passwd, $db),这段代码最后是否包含分号? -
它确实有一个分号,那只是一个错误的复制。
-
尝试添加一些花括号...
if ($mysqli->connect_error) { die('Connect Error: ' . $mysqli->connect_error); }