2011-01-26 4 views
6

が可能な重複:
How do I add more than one row with Zend_Db?どのようにZendのフレームワーク内に複数のINSERTクエリを構築するために

は、私はこのクエリに

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

答えて

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

をご確認ください。だから、普遍的な答えはありません。 あなたはDBが何であるかを教えてください。私たちはいくつかのトリックを提案するかもしれません。:-)

+0

私は –

+0

mysqlはこれをサポートしているMySQLデータベースを使用しますが、問題ではなく、私がしなければならない、私はdbmodelてこの文を作成する方法がわからないですループを繰り返し、複数の値を挿入する –