我一直收到这个错误
Deprecated: Assigning the return value of new by reference is deprecated in C:\xampp\php\PEAR\Config.php on line 80
Deprecated: Assigning the return value of new by reference is deprecated in C:\xampp\php\PEAR\Config.php on line 166
Fatal error: Class 'mysqli_connect' not found in C:\xampp\htdocs\bb2\includes\classes\connection.php on line 3
我不知道为什么,这是我的代码
这是config.php
<?php
define("DB_HOST","localhost");
define("DB_USER","root");
define("DB_NAME","beatbeast");
define("DB_PASSWORD","123192");
?>
这是我的connection.php
<?php
require_once('config.php');
$mysqli = new mysqli_connect(DB_HOST, DB_USER, DB_PASSWORD, DB_NAME);
答案 0 :(得分:3)
您不应该将new
与mysqli_connect
一起使用 - mysqli_
调用的过程版本不使用对象语法。
如果您想使用new
,请使用new mysqli()
。
关于弃用警告,请参阅this question。
答案 1 :(得分:0)
检查mysqli是否在php_ini文件中启用,并检查文件“php_mysqli.dll”是否存在于C:\ xampp \ php \ ext目录中。
答案 2 :(得分:0)
您可以通过以下方式禁用已弃用的消息:
error_reporting(E_ALL | E_DEPRECATED);
或找到有问题的代码行(函数)并在其前面加上 @ 。
答案 3 :(得分:0)
如果启用了mysqli,请尝试使用此代码块 -
<?php
require_once('config.php');
$mysqli = new mysqli(DB_HOST, DB_USER, DB_PASSWORD, DB_NAME);
if (mysqli_connect_error()) {
die('Connect Error (' . mysqli_connect_errno() . ') '
. mysqli_connect_error());
}
echo 'Success... ' . $mysqli->host_info . "\n";
$mysqli->close();