繁体   English   中英

当我尝试使用 MySQLi 连接到数据库时 PHP 退出

[英]PHP Exits When I Try to Connect to a Database Using MySQLi

我最近在开发一个网站,遇到了一个错误。 当我尝试做print_r(error_get_last()); 它输出一些关于不再支持 mysql 的文本,并使用 MySQLi。 我全力以赴。 当我编辑我的数据库类以支持 MySQLi 时,它每次尝试连接时都会退出。 我已经把echo 'hi<br />'; mysqli函数之前和之后,还有一个or trigger_error("Error: " . print_r(error_get_last())); 在它的最后,但它输出的所有内容都是hi ,没有别的。 我的数据库是在 phpMyAdmin 中创建的,并且具有所有正确的权限,但它就是无法连接。 这是我的连接代码:

echo 'hi<br />';
$this->db = mysqli($host, $dbuser, $dbpass, $dbname) or trigger_error("Error: " . print_r(error_get_last()));
echo 'hi<br />';
$this->connect_start = microtime(true);
if ($this->db->connect_errno > 0) die ($this->debug(true));

它在一个类的构造函数中,如下所示:

function db($host, $dbname, $dbpass, $dbuser)

它是这样调用的:

$db = new db($host, $dbname, $dbpass, $dbuser);

改变这个:

$this->db = mysqli() 

$this->db = new mysqli()

mysqli 不是一个函数,它是一个类。 如果您有错误报告,您会收到如下消息:

PHP 致命错误:调用未定义的函数 mysqli()

这就是为什么没有执行其余代码的原因,执行就在那里停止。

另请注意, new mysqli()永远不会返回false ,因此您的or ...部分变得无用。 如果你想检查连接错误,你必须在连接尝试后检查$this->db->connect_error

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM