Zendフレームワークから始めて、Zend_Auth_Adapter_DbTableを使用してユーザーを認証したいと思いました...
ドキュメントを確認しましたが、非常に簡単に見えますが、エラーが発生します。
これが私のコードスニペットです:
$adapter = new Zend_Auth_Adapter_DbTable($this->_dbAdapter, 'users', 'username', 'password', 'MD5(?)');
'username'列と'password'列を持つ'users'テーブルがありますが、実行するたびに
$result = $adapter->authenticate();
アプリケーションエラーが発生します:
Message: The supplied parameters to Zend_Auth_Adapter_DbTable failed to produce a valid sql statement, please check table and column names for validity.
誰かがこれで私を助けることができますか?基本認証が必要です(パスワードはmd5を使用して暗号化されています)
奇妙なことに、次のように動作します...
$adapter = new Zend_Auth_Adapter_DbTable($this->_dbAdapter); $adapter->setTableName('users') ->setIdentityColumn('username') ->setCredentialColumn('password') ->setIdentity($username) ->setCredential(md5($password));
しかし、なぜ「setCredentialTreatment」(または最初のコードスニペットのようにそれを使用する)メソッドが失敗するのですか...
mySQLではなくsqlite3を使用しているからですか?
ありがとう