Skip to content


DBAL-231: Doctrine\DBAL\SQLParserUtils::getPlaceholderPositions() - regex #1407

doctrinebot opened this Issue · 5 comments

2 participants


Jira issue originally created by user ivolator:

Running the following SQL (note the named parameter ":account_id"):

SELECT count('') as cnt FROM feed f INNER JOIN ordersaccounts oa ON oa.order_id = f.feed_id INNER JOIN users u ON = f.user_id WHERE oa.account_id = :account_id AND f.feed_type='order' ORDER BY f.create*date DESC

ends up in a thrown exception.
This SQL was generated by using the Query Builder

    $qb = $this->_em->getConnection()->createQueryBuilder();
    $qb->select('count(\'*\') as cnt');//I know this is bad
    $qb->from('feed', 'f');
    $qb->innerJoin('f', 'orders*accounts', 'oa', 'oa.order_id = f.feed*id');
    $qb->innerJoin('f', 'users', 'u', ' = f.user_id');
    $qb->where('oa.account*id = :account_id AND f.feed*type=\'order\'');
    $qb->setParameter('account*id', $accountId, \PDO::PARAM*INT);

    $stmt = $qb->execute();
    $res = $stmt->fetchAll(\PDO::FETCH_COLUMN);

string(82) "SQLSTATE[42S22]: Column not found: 1054 Unknown column 'NULL_id' in 'where clause'"
string(3168) "#0 /var/www/caketozf/library/Doctrine/DBAL/Connection.php(628): PDOStatement->execute()
#1 /var/www/caketozf/library/Doctrine/DBAL/Query/QueryBuilder.php(185): Doctrine\DBAL\Connection->executeQuery('SELECT count('...', Array, Array)
#2 /var/www/cake
tozf/library/of/doctrine/SqlQueryBuilderPaginatorAdapter.php(69): Doctrine\DBAL\Query\QueryBuilder->execute()
#3 /var/www/cake
to*zf/library/Zend/Paginator.php(1060): of\doctrine\SqlQueryBuilderPaginatorAdapter->count()

Suggested Fix:

Regex on line 64 in pregmatch becomes '#([:a-zA-Z0-9]{1})#'
Added was an "_" ...


Comment created by @beberlei:



Issue was closed with resolution "Fixed"


Comment created by @beberlei:

Merged in 2.1.x and 2.2 branches.


Comment created by avit:

I already fixed this in my reworking of the SqlParserUtils last month. See pull request and confirm that this issue was fixed there, together with other parsing problems:



Comment created by @beberlei:

Fixed in 2.3.3

@doctrinebot doctrinebot added the Bug label
@beberlei beberlei was assigned by doctrinebot
@doctrinebot doctrinebot added this to the 2.3.3 milestone
@doctrinebot doctrinebot closed this
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Something went wrong with that request. Please try again.