如何在zend框架中构建多个插入查询

时间:2011-01-26 08:53:07

标签: php mysql zend-framework zend-db

  

可能重复:
  How do I add more than one row with Zend_Db?

我想构建此查询

INSERT INTO ad-page (ad_name, page_name) VALUES ('value1', 'value2'), ('value3', 'value4') , ....

我试过这个没用的

        $adpagemodel = new Admin_Model_AdPage();

        if(count($adpage)> 0)
            foreach($adpage as $page)
            {
                $newdatap[]['page_name'] = $page;
                $newdata[]['ad_name'] = $adname;            
            }
        $adpagemodel->insert($newdata); 

请同时查看this

2 个答案:

答案 0 :(得分:21)

有简单的选择。手动创建查询;)

像这样:

$query = 'INSERT INTO ' . $db->quoteIdentifier('table') . ' (`col1`, `col2`) VALUES ';
$queryVals = array();
foreach ($data as $row) {
    foreach($row as &$col) {
        $col = $db->quote($col);
    }
    $queryVals[] = '(' . implode(',', $row) . ')';
}
$stmt = $db->query($query . implode(',', $queryVals));

答案 1 :(得分:2)

并非所有数据库都支持此功能。所以,没有普遍的答案。 但如果你告诉你什么是数据库,我们可能会建议一些技巧......: - )