2015-04-03 119 views
-1

我的陣列,即$ _SESSION [「cart_array」]包含如何將多維數組插入數據庫?

Array ([0] => Array ([item_id] => qwerty [quantity] => 2 [unit_price] => 500) [1] => Array ([item_id] => skjbm [quantity] => 3 [unit_price] => 100)) 

的代碼插入到我的數據庫的代碼是

foreach($_SESSION['cart_array'] as $each_item){ $sql=mysql_query("INSERT INTO product_added(id,ip_address,order_id,email,item_id,unit_price,quantity,total,pay_status)values('','','','','".$each_item['item_id']."','".$each_item['quantity']."','".$each_item['unit_price']."','','')"); 
if(!mysql_query($sql)){ 
    // maybe not the best use of `die` here? 
    die('Error: ' . mysql_error()); 
}echo "record added"; } 

我的問題是,當我運行該腳本將它添加只有一個項目,即:item_id = qwerty,數量= 2和unit_price = 500,因爲我在$_SESSION['cart_array']中有兩個項目。

和MySQL錯誤顯示:

Error: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '1' at line 1

如何進入二,多個項目進入數據庫?

+0

嘗試呼應查詢在執行之前,看到的是實際所構建的內容查詢並執行。 也考慮使用pdo和準備的語句,而不是串聯。谷歌sql注入 – 2015-04-03 18:31:52

+0

@pala請請重寫上面的代碼,我怎麼可以插入到數據庫....這將是很大的幫助.... – priyabrata 2015-04-03 18:34:24

+0

這將是一個很大的幫助,如果你回聲已完成的查詢字符串然後把它放到你的問題 – 2015-04-03 18:36:37

回答

0

試試這個。順便說一句mysql不贊成使用mysqli

$insert_query = 'INSERT INTO product_added (id,ip_address,order_id,email,item_id,unit_price,quantity,total,pay_status) values '; 

foreach($_SESSION['cart_array'] as $each_item){ 

    $insert_query .= "('','','','','".$each_item['item_id']."','".$each_item['quantity']."','".$each_item['unit_price']."','',''),";   

} 

$query = rtrim($insert_query, ','); 
if(!mysql_query($query)){ 
    die('Error: ' . mysql_error()); 
}else{ 
    echo "record added"; 
} 
+0

你是槍殺@Raja ...更多的問題,如果任何人實時更改購物車中的數量我怎麼能更新唯一的數量值database.as它已經存儲在數據庫中quatity是2如果人設置它讓我說我怎樣才能更新當人點擊進行結帳 – priyabrata 2015-04-03 18:45:48

+0

爲什麼你要在結賬前存儲到分貝。 – Raja 2015-04-03 18:50:27

+0

嗨@Raja ..u使我的這一天感謝很多..我有一個問題..當用戶點擊進行結帳按鈕本會話購物車插入到數據庫和用戶去登錄頁面..但如果用戶返回上一頁購物車頁面,並刪除其中一個項目,再次點擊繼續結帳按鈕它再次插入到數據庫和複製/雙重數據如何進行安全檢查wheather購物車項目存在或發生任何變化或刪除任何項目只是更新購物車或刪除從購物車的具體項目使用sessioon orderid – priyabrata 2015-04-04 16:57:10