On 04.10.2016 at 01:13, Lester Caine wrote: > On 03/10/16 22:20, Rowan Collins wrote: > >> On 3 October 2016 19:11:52 BST, Adam Baratz <adambar...@php.net> wrote: >> >>>> Test script: >>>> --------------- >>>> $db = new PDO(...); >>>> >>>> $stmt = $db->prepare("SELECT :null"); >>>> $stmt->bindValue(':null', null, PDO::PARAM_NULL); >>>> $stmt->execute(); >>>> var_dump($stmt->fetchAll()); // NULL > >> Well, I'm pretty sure Postgres won't be affected either way, because its >> type system is such that you can't prepare a query where the types of >> parameters can't be decided yet. A query like this simply gives an error. > > Firebird, oracle and mysql would have exactly the same problem. The > prepare SQL script is invalid so prepare fails. If it works for dblib > then I would consider THAT the bug. Parameters can only be assigned to > fields identified in the prepared SQL. In this case :null has nothing to > identify what it is to be prepared to populate.
This is about *emulated* prepares, and AFAIK that means that the database will never see the prepared statement. -- Christoph M. Becker -- PHP Internals - PHP Runtime Development Mailing List To unsubscribe, visit: http://www.php.net/unsub.php