zend-framework - Zend DB Framework 检查查询是否有更新

标签 zend-framework zend-db

所以你可以使用这样的东西:

$query = $db->select();
$query->from('pages', array('url'));
echo $query->__toString();

检查 Zend Db Framework 将用于该 SELECT 查询的 sql。是否有等效的方法来查看 SQL 更新?

$data = array(
   'content'      => stripslashes(htmlspecialchars_decode($content))
);      
$n = $db->update('pages', $data, "url = '".$content."'");
??

最佳答案

使用Zend_Db_Profiler捕获并报告 SQL 语句:

$db->getProfiler()->setEnabled(true);
$db->update( ... );
print $db->getProfiler()->getLastQueryProfile()->getQuery();
print_r($db->getProfiler()->getLastQueryProfile()->getQueryParams());
$db->getProfiler()->setEnabled(false);

如果不需要,请记住将分析器关闭!我与一位认为自己存在内存泄漏的人交谈过,但实际上是分析器为他正在运行的数百万条 SQL 查询中的每一个实例化了一些 PHP 对象。

PS:您应该使用quoteInto()在该查询中:

$n = $db->update('pages', $data, $db->quoteInto("url = ?", $content));

关于zend-framework - Zend DB Framework 检查查询是否有更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1009639/

相关文章:

PHP Zend 框架生成器

php - 文件获取内容 : Unable to set local cert chain file

mysql - Zend 数据库格式的子查询

mysql - 如何管理巨大的数据库表以最大限度地减少 MySql 中的获取时间

php - 使用 Zend 框架的 iPhone Web 服务

PHP 强制下载返回损坏的文件

function - Zend Framework 一个通用文件,用于放置可从 View 访问的函数

php - 如何访问 ZF2 Field Set 中的数据库适配器?

php - Zend Framework如何将DbTable模型映射到数据库表并插入新行

zend-framework - Zend_db 中的完整性约束违规