0
Mysqli 드라이버가 구성된 데이터베이스 테이블을 사용하여 웹 인증을 구현하기 위해 zend 지침을 따라했습니다. 페이지를 렌더링 할 때zend framework 2 mysqli 인증 실패
, 다음과 같은 예외 후 인증 할 방법을 실행 나타납니다 :
Zend\Db\Adapter\Exception\ErrorException
File:
C:\xampp\htdocs\pfc\vendor\ZF2\library\Zend\Db\Adapter\Driver\Mysqli\Statement.php:188
Mensaje:
Commands out of sync; you can't run this command now
운전자가 무료하지 않고 이전 쿼리의 결과를 배수 querys를 실행할 수 없기 때문에이 일어날 것 같다
첫 번째 (다중 질의 문제).
dbAdapter의 드라이버를 pdo_mysql로 변경하면 authenticate 메소드가 정상적으로 작동한다는 것을 발견했습니다. 그러나 성능상의 이유로 PDO 드라이버를 사용하고 싶지 않습니다.
어떻게 Mysqli 드라이버를 구성 할 수 있습니까?
내 코드를 넣고 :
$dbAdapter = new DbAdapter(array(
//'driver' => 'Mysqli', //This driver fail when call authenticate method
'driver' => 'Pdo_Mysql', //This driver works ok
'database' => 'securedraw',
'username' => 'root',
'password' => ''
));
$authAdapter = new AuthDbTableAdapter($dbAdapter);
$authAdapter->setTableName('users')
->setIdentityColumn('mail')
->setCredentialColumn('password')
->setIdentity('josep')
->setCredential('josep');
$authResult = $authAdapter->authenticate(); //Method fail