Content copyright © 2006-2007 by eZ systems A.S.
|
|
|
|
Description:
When using the AithenticationDatabaseTieIn, the database_filter.php can generate the following error against a MySQL DB: PDOException: SQLSTATE[HY000]: General error: 2014 Cannot execute queries while other unbuffered queries are active. Consider using PDOStatement::fetchAll(). Alternatively, if your code is only ever going to run against mysql, you may enable query buffering by setting the PDO::MYSQL_ATTR_USE_BUFFERED_QUERY attribute. in /var/www/juniper/htdocs/ezc/Database/src/sqlabstraction/query.php on line 354 The issue stems from the ezcAuthenticationDatabaseFilter->run() method. It first runs a query to determine if the username exists, and then runs a second query to see if the password is correct. The problem code is this section:
The $rows still has a buffered resultset of usernames, then a query is prepared to query the password. Adding a PDO closeCursor commadn corrects the issue:
Environment: Operating System: Ubuntu Edgy Eft Server |
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||