Zend_Auth_Adapter_DbTable и MariaDb не работает?

Я недавно перенес свое приложение 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 ответ

Эта проблема основана на версии MySQL.

Я мигрировал в mariadb и изменил учетные данные, чтобы использовать char, сохраняя utf8 в моем конфигурационном файле.

-> setCredentialTreatment ("CAST (MD5 (CONCAT (MD5 (?), соль)) как CHAR) И isactive='1'");

и работает.

Другие вопросы по тегам