有没有办法在预准备语句上调用PDOStatement :: execute()时获取原始SQL字符串?出于调试目的,这将非常有用.
是否可以从PDO对象获取带有绑定参数的查询字符串而不先执行它?我有类似于以下代码(其中$ dbc是PDO对象):
$query = 'SELECT * FROM users WHERE username = ?';
$result = $dbc->prepare($query);
$username = 'bob';
$result->bindParam(1, $username);
echo $result->queryString;
Run Code Online (Sandbox Code Playgroud)
目前,这将回显出一个SQL语句,如:"SELECT*FROM users WHERE username =?".但是,我希望包含绑定参数,使其看起来像:'SELECT*FROM users WHERE username ='bob'".有没有办法在不执行它的情况下执行此操作或通过某些内容用参数替换问号喜欢preg_replace?