Search code examples
phpmysqlzend-frameworkzend-db

how to build multiple insert query in zend framework


Possible Duplicate:
How do I add more than one row with Zend_Db?

i would like to build this query

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

i tried this which did not work

        $adpagemodel = new Admin_Model_AdPage();

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

and please also check this


Solution

  • There is simple option. Create the query by hand ;)

    like this:

    $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));