PDO bindValue ORDER BY

From: Date: Fri, 31 Oct 2008 16:58:07 +0000
Subject: PDO bindValue ORDER BY
Groups: php.db 
Request: Send a blank email to php-db+get-45577@lists.php.net to get a copy of this message
Are pdo bound parameters within an ORDER BY clause broken in php 5.2.5? I find that in php 5.2.6 this works as expected: <?php $sql = 'SELECT * FROM table ORDER BY :sort'; $stmt = $pdo->prepare($sql); $stmt->bindValue(':sort', $sort, PDO::PARAM_STR); $stmt->execute(); print_r($stmt->fetchAll(PDO::FETCH_ASSOC)); ?> but under php5.2.5 the ORDER BY clause silently fails. Also, parameters bound to SELECT or WHERE or LIMIT clauses function correctly, but ORDE BY still has no effect. If I remove the "$stmt->bindValue(':sort', $sort, PDO::PARAM_STR);" line or the "ORDER BY :sort" I get a "number of bound variables does not match number of tokens" error. So it appears the parsing mechanism is funcitoning, but what ever is responsible for binding to ORDER BY is not. I've looked in bug reports and the change logs, but did not find a explicit reference to this issue. -- -- Matthew Peltzer -- gooch@goochrules.net

« previous php.db (#45577) next »