严格标准:只有变量应该通过引用 PHP 5.4 分配

2022-08-30 11:02:20

我将 PHP 版本升级到 5.4(XAMPP 1.7.3 升级到 1.8.0)。现在我看到严格的标准错误,对于:myDBconnection

严格标准:在第 4 行的 C:\xampp\htdocs\alous\include\dbconn.php 中,只应通过引用分配变量

dbconn.php:

<?php
    defined('_VALID') or die('Restricted Access!');

    $conn = &ADONewConnection($config['db_type']); // <--- This Line 4

    if ( !$conn->Connect($config['db_host'],
                         $config['db_user'],
                         $config['db_pass'],
                         $config['db_name'])) {

        echo 'Could not connect to MySQL! Please check your database settings!';
        die();
    }
    $conn->execute("SET NAMES 'utf8'");
?>

注意:我不需要禁用php中的严格标准.ini使用此方法!我想修复我的 PHP 代码。error_reporting = E_ALL & ~E_NOTICE & ~E_STRICT


答案 1

您应该删除(&符号),以便第 4 行如下所示:&

$conn = ADONewConnection($config['db_type']);

这是因为 ADONewConnection 已通过引用返回对象。根据文档,从 PHP 5.3.0 开始,逐个引用地分配对对象的引用结果会导致E_DEPRECATED消息


答案 2

这是因为您尝试通过引用来分配对象。删除与号,脚本应按预期工作。


推荐