46

我将我的 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 中的严格标准error_reporting = E_ALL & ~E_NOTICE & ~E_STRICT!我想修复我的 PHP 代码。

4

2 回答 2

80

您应该删除&(&) 符号,这样第 4 行将如下所示:

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

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

于 2012-08-02T13:02:39.373 回答
10

这是因为您试图通过引用分配对象。删除&符号,您的脚本应该按预期工作。

于 2012-08-02T13:23:12.920 回答