PDO Parameterized Query - Reuse named placeholders?
In essence, I have a value that I have to call a couple times in my SQL query. Thus, is it possible to reuse the same named placeholder in the statement e.g.
SELECT :Param FROM Table WHERE Column = :Param
, then simply bindValue(":Param"), and have the value be there for both :Params?
Solution 1:
PDO::prepare states that "you cannot use a named parameter marker of the same name twice in a prepared statement", so I guess that's a no then.
Solution 2:
You can if you set PDO::ATTR_EMULATE_PREPARES = true
.
E.g. $connection->setAttribute(PDO::ATTR_EMULATE_PREPARES, true);
.
If you're using Laravel you can set this in an options
array in config/database.php
. e.g. PDO::ATTR_EMULATE_PREPARES => true