2014-04-29 24 views
0

我有使用javascript動態創建的html輸入。我想使用單個查詢填充sql server 2008數據庫中的表。我明白這是可能的,當你有有輸入/列的固定數額如下圖所示使用單個sql查詢將動態增長的輸入插入到sql server 2008中

INSERT INTO Table (Column1, Column2) VALUES(Value1, Value2), (Value1, Value2) 

我列的列表預計增長dynamically.I正在使用foreach語句,試圖完成this.Here是我的代碼

if($_POST['postclaim']) 
     { 
    foreach($_POST['amt'] as $value) 
     { 
    $insert=mssql_query("INSERT INTO reserved (txn_id, proc_name,amount) VALUES ('1', '".$_POST['pdgen']."','".$value."')"); 

     } 

       } 

'AMT' 和 'pdgen' 動態使用JavaScript生成。我如何將生成的輸入值插入到數據庫中?

+0

問題是什麼? –

+0

@major ....我想知道我可以如何將生成的輸入值從單個查詢插入到數據庫中 – julihx

回答

0

您可以在循環中構造字符串並在最後執行它。

if($_POST['postclaim']) 
{ 
    $InsertSQL = 'INSERT INTO reserved (txn_id, proc_name,amount) VALUES '; 
    foreach($_POST['amt'] as $value) 
    { 
     $InsertSQL .= '(\'1\', \'' . mssql_escape($_POST['pdgen']) . '\', \'' . mssql_escape($value) . '\'),'); 

    } 
    $insert = mssql_query(substr($InsertSQL,0,strlen($InsertSQL)-1) . ';'); // The substr call here is to strip the trailing comma. 
} 

function mssql_escape($str) 
{ 
    return str_replace("'", "''", $str); 
} 

請注意使用定製的mssql_escape來防止SQL注入攻擊。