-3
を使用してデータベースにレコードを挿入する方法:私はPLANTとコストセンターに応じて、多くのレコードを追加したいが、私は私だけが異なる植物とコストセンターを提出しても、12件のレコードを持っこれは私のコードでループ
[G_TEST_CC] = {COST_CENTER};
[G_TEST_PLANT] = {PLANT};
header("Location: ../83211_TEST_PM_MONTH/83211_TEST_PM_MONTH.php");
$MONTH = array();
$MONTH[ 1 ] = 'JAN';
$MONTH[ 2 ] = 'FEB';
$MONTH[ 3 ] = 'MAR';
$MONTH[ 4 ] = 'APR';
$MONTH[ 5 ] = 'MAY';
$MONTH[ 6 ] = 'JUN';
$MONTH[ 7 ] = 'JUL';
$MONTH[ 8 ] = 'AUG';
$MONTH[ 9 ] = 'SEP';
$MONTH[ 10 ] = 'OCT';
$MONTH[ 11 ] = 'NOV';
$MONTH[ 12 ] = 'DEC';
for($i = 1; $i<=12 ; $i++){
sc_lookup(dataset, "select max(ID) from CMS.SUM_TEST");
$MAXID = {dataset[0][0]};
$NEWMAXID = $MAXID + $i;
// SQL statement parameters
$insert_table = 'EXPENSE_TEST_PM'; // Table name
$insert_fields = array( // Field list, add as many as needed
'ID' => "'$NEWMAXID'",
'BUDGET_YEAR' => "'[GLOBAL_BUDGETYEAR]'",
'VERSION' => "'[GLOBAL_VERSION]'",
'PLANT' => "'[G_TEST_PLANT]'",
'COST_CENTER' => "'[G_TEST_CC]'",
'MONTH' => "'$MONTH[$i]'",
);
// Insert record
$insert_sql = 'INSERT INTO ' . $insert_table
. ' (' . implode(', ', array_keys($insert_fields)) . ')'
. ' VALUES (' . implode(', ', array_values($insert_fields)) . ')';
sc_exec_sql($insert_sql);
}
。
この画像は、問題を理解するのに役立つことがあります。Dipanwitaクンドゥが言ったように
はそうあなたが唯一の12のインサート –
を得るI = 12まで実行されます私はPLANTとコストセンターごとに12のレコードを保存することができますどのように、わずか12ので月のを使用しましたか? – MANGAHAS
文字列連結を使用して、SQLにパラメータを含めることは絶対に避けてください:代わりにパラメータを使用する(またはホワイトリスト値のエビデンスを表示しますが、それは難しい)。進行中のSQLインジェクションは恥ずかしいものです。 – Richard