2
class MailAuthGen{
    var $mail='test@mail.com';
    var $findUid = "SELECT uid from 'accounts' where email='$mail'";
    function abc() {
        echo $this->findUid;
    }
}

このページを読み込むと、ページが表示されます

解析エラー: 構文エラー、予期しない '"'

$findUid = "SELECT uid from 'accounts' where email='".$mail."'";

うまくいきませんでした。

しかし、'class' を使用しない場合は、うまく実行されました。

どうしたの?

4

1 に答える 1

10

エラーはこの行にあります。プロパティを宣言するときに変数を評価することはできません。

var $findUid = "SELECT uid from 'accounts' where email='$mail'";
//                              You can't do this ------^

一般的な回避策は次のようなものです。

var $findUid = "SELECT uid from 'accounts' where email='%s'";

後で値を補間できる場所。

于 2012-08-06T14:37:37.943 に答える