46

PHPバージョンを5.4(XAMPP 1.7.3から1.8.0)にアップグレードしました。これで、 StrictStandardsエラーが表示され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がすでに参照によってオブジェクトを返すためです。ドキュメントによると、参照によってオブジェクトへの参照の結果を割り当てると、PHP5.3.0の時点でE_DEPRECATEDメッセージが生成されます。

于 2012-08-02T13:02:39.373 に答える
10

これは、参照によってオブジェクトを割り当てようとしているためです。アンパサンドを削除すると、スクリプトが意図したとおりに機能するはずです。

于 2012-08-02T13:23:12.920 に答える