在 Yii 中如何在执行之前显示渲染的查询。
$sql="SELECT * from users WHERE user_id = :user_id";
$command=Yii::app()->db->createCommand($sql);
// replace the placeholder ":user_id" with the actual username value
$command->bindParam(":user_id",$user_id,PDO::PARAM_INT);
echo "<br/>".$command->getText();
我想打印绑定(bind)参数中包含的查询 例如 user_id = 1 那么
SELECT * from users WHERE user_id = 1
最佳答案
虽然在执行之前不可能看到带有绑定(bind)参数的准备好的查询,但当然可以在日志中检查它。你只需要启用 MySQL 的所谓“general_query_log”即可;有几种方法可以做到这一点,我想最简单的是......
SET GLOBAL general_log = 'ON';
...在 MySQL shell 中。然后你可以尝试你的查询;它将按原样记录在 mysql.general_log
中,因此您可以使用以下内容进行检查...
SELECT * FROM mysql.general_log;
不要忘记在不再需要时禁用日志记录:
SET GLOBAL general_log = 'OFF';
这是more info关于它。
关于php - Yii 如何在执行之前显示渲染的查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11261628/