how to build multiple insert query in zend framework

16,160

Solution 1

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

Solution 2

Not all databases support this. So, there is no universal answer. But if you would tell what's you DB, we might suggest some trick... :-)

Share:
16,160

Related videos on Youtube

Santosh Linkha
Author by

Santosh Linkha

click here to edit

Updated on June 04, 2022

Comments

  • Santosh Linkha
    Santosh Linkha almost 2 years

    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

  • Santosh Linkha
    Santosh Linkha about 13 years
    mysql supports this, but the problem is i don't know how to create this statement through dbmodel, instead i have to iterate through loop and insert multiple values

Related