Zend_Auth_Adapter_DbTable和MariaDb不起作用?

时间:2013-07-19 05:52:13

标签: php zend-framework zend-auth

我最近将Zend应用程序迁移到MariaDb。她在MySQL上。

但是,当用户进行身份验证时,我会执行此消息:

  

Zend_Auth_Adapter_DbTable提供的参数无法生成有效的sql语句,请检查表名和列名的有效性。

PHP产品代码是这样的:

$dbAdapter = Zend_Db_Table::getDefaultAdapter();

$adapter = new Zend_Auth_Adapter_DbTable($dbAdapter);

$adapter->setTableName('users')
        ->setIdentityColumn('username')
        ->setCredentialColumn('password')
        ->setCredentialTreatment('SHA1(CONCAT(?, passwordSalt)) AND isDeleted = 0');

$adapter->setIdentity($params['username']);
$adapter->setCredential($params['password']);

$result = $adapter->authenticate();

if ($result->isValid() === false) {
    // do something
}

我没有改变任何事情。这部分的MySQL和MariaDB之间有什么区别。

1 个答案:

答案 0 :(得分:0)

此问题基于mysql版本。

我迁移到mariadb并更改了凭据以转换为保留我的配置文件中的utf8的字符。

- > setCredentialTreatment(“CAST(MD5(CONCAT(MD5(?),salt))AS CHAR)AND isactive ='1'”);

并且有效。