0

1つのクエリで2つの配列の値をテーブルに挿入したいと思います。そのようなことをすることは可能ですか?

表形式

id | product_id | category_id | blog_id | updated_by | created_date 

カテゴリ_id

Array
(
    [0] => 4
    [1] => 15
    [2] => 18
)

製品番号

Array
(
    [0] => 2260 
    [1] => 1401 
)

Blog id = mysql_insert_id();

結果

id | product_id | category_id | blog_id | updated_by  
 1      2260        4               15      xyz         
 2      1401        15              15      xyz   
 3      null        18              15      xyz

このためのより良い挿入クエリを改善するための私への提案もあります。

4

3 に答える 3

2
INSERT INTO `Table_Name` (`product_id`, `category_id`, `blog_id`, `updated_by`) VALUES (2260, 4, 15, 'xyz'), (1401, 15, 15, 'xyz'), (, 18, 15, 'xyz');

id列は自動インクリメントされたものだと思いました。

于 2012-07-03T06:05:28.100 に答える
0

現在使用しているのと同じクエリに、一度に複数の行を挿入できます。カンマを追加し、さらに値を入力するだけです。

Insert into myTable values ('field1-var1','field2-var2'), ('field1-var2','field2-var2') ..
于 2012-07-03T06:05:48.200 に答える
0
$combain = array_merge($cat , $proid);   
for($i = 0; $i <count($combain); $i++ )
            {
                if(isset($proid[$i])) {
                    $product_id = $proid[$i];
                }
                else{
                    $product_id = "''";
                }            
                if(isset($cat[$i])){
                    $category_id = $cat[$i];
                }
                else{
                    $category_id = "''";
                }   
                if(!empty($cat[$i]) || !empty($proid[$i])) {

                    @$values[] ="('',". $blogid.",".$category_id.",".$product_id.","."'".$updated_by."'".",now())";
                }
            }        
            $query = $this->db->query("insert into blog_details (id , blog_id , cat_id, pro_id, updated_by , created_date) values" . implode(',', $values));
于 2012-07-03T10:17:57.243 に答える