不推荐使用引用分配new的返回值

时间:2012-06-27 06:15:39

标签: php database-connection xampp

我一直收到这个错误

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);

4 个答案:

答案 0 :(得分:3)

您不应该将newmysqli_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();