1. ホーム
  2. php

[解決済み] 厳格な基準 変数のみ参照で代入する PHP 5.4

2022-03-09 09:04:29

質問

PHPのバージョンを5.4にアップグレードしました( XAMPP 1.7.3 から 1.8.0) に変更しました。今、私は 厳格な規格 というエラーが発生します。 myDBconnection :

厳格な基準です。Only variables should be assigned by reference in C:\xampphtdocsalousincludedbconn.php on line 4

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 で Strict Standards を無効にする必要はありません。 error_reporting = E_ALL & ~E_NOTICE & ~E_STRICT ! PHPのコードを修正したいのですが。

どのように解決するのですか?

を削除する必要があります。 & (アンパサンド)記号を使用し、4行目はこのようになります。

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

これは、ADONewConnectionがすでにオブジェクトを参照で返しているためです。と同じように ドキュメント PHP 5.3.0 以降では、オブジェクトへの参照の結果を代入すると E_DEPRECATED メッセージが発生します。