-1

次のphpforループを使用して、データベースに配列値を挿入します。コードを修正する必要があります。forループの外側でクエリを実行したいのですが、コードの修正を手伝ってください。

<?php
             /*********************/
             $data = $_REQUEST['columns_one'];
             $store_data = explode(",",$data);
            foreach($store_data as $key =>$value)
            {
            //echo $value;
            $query = "insert into fb_savedforms(form_id,form_structure) values ('','".$value."')";
            $result = mysql_query($query);
            } 
            /**************************************/
        ?>
4

3 に答える 3

1

バッチ挿入を使用してループ内でクエリを作成しますが、実行は 1 回だけにしてください。

MySQLでバッチ挿入を行う方法から

VALUES 構文を使用する INSERT ステートメントは、複数の行を挿入できます。これを行うには、それぞれを括弧で囲み、コンマで区切って、列値の複数のリストを含めます。

例:

INSERT INTO tbl_name (a,b,c) VALUES(1,2,3),(4,5,6),(7,8,9);
于 2012-11-01T05:53:42.713 に答える
1

次のようなことを試してください:

$data = $_REQUEST['columns_one'];
$store_data = explode(",",$data);
//setup the insert query
$query = "INSERT INTO fb_savedforms(form_id,form_structure) VALUES ";
$values = array(); //store all the new rows
foreach($store_data as $key =>$value){
  $values[] = "('','".$value."')";
}
$query .=  implode(',', $values) . ';';
$result = mysql_query($query);

大きな免責事項: このコードはテストされていませんが、複数の値セットを持つことができることを示しているはずです。

于 2012-11-01T05:53:49.640 に答える
-2
$data = $_REQUEST['columns_one'];
             $store_data = explode(",",$data);
            $query = '';
            foreach($store_data as $key =>$value)
            {
            //echo $value;
            $query .= "insert into fb_savedforms(form_id,form_structure) values ('','".$value."'); ";

            } 
$result = mysql_query($query);
于 2012-11-01T05:52:40.690 に答える