如何在Zend Framework中找到insert()的sql查询语句?

问题描述 投票:4回答:2

我如何在Zend Framework中找到用于insert()的sql查询语句,就像它对db table select所做的一样。 $ select-> __ toString()。

zend-framework frameworks tostring
2个回答
0
投票

尝试这个对我有用的方法:

    $db = Zend_Db_Table_Abstract::getDefaultAdapter();
    $db->getProfiler()->setEnabled(true);
    $profiler = $db->getProfiler();

    $lastID = ($this->insert($data));

    $query = $profiler->getLastQueryProfile();
    $params = $query->getQueryParams();
    $querystr = $query->getQuery();

    foreach ($params as $par) {
        $sqlQuery = preg_replace('/\\?/', "'" . $par . "'", $querystr, 1);
    }
    echo $sqlQuery;

-2
投票

由于它是立即执行的,因此您无法提取它,但是代码存在于Zend_Db_Adapter_Abstract::insert()中,并且可能在某些适配器中被覆盖。

© www.soinside.com 2019 - 2024. All rights reserved.