2012-03-22 240 views
2

我需要關於數組插入到mysql表的幫助。PHPMySql數組插入到表

我有一個數組,當我添加和物品到購物車中

$_session['cart_array'] = array("item_id" => $pid, "quantity"=>1) 

現在如果我有車一個項目,當我做print_r($_session['cart_array'])陣列看起來像

Array([0] => Array ([item_id] => 1 [quantity] => 1)) 

現在我需要將此陣列數據插入名爲purchased_products的表,其列

id, product_name, product_quantity 

回答

2
$item_id = $_session['cart_array'] [item_id]; 
$quantity = $_session['cart_array'] [quantity]; 

然後嘗試插入變量在數據庫:

$insert = mysql_query("INSERT INTO table_name VALUES ('NULL', '".$item_id."', '".$quantity."')"); 

使用NULL,如果你的ID是自動遞增。

希望它可以幫助你..

+0

謝謝你讓我看看 – 2012-03-22 04:11:45

+0

好。希望它會幫助。:) – 123 2012-03-22 04:18:39

+0

謝謝。插入數據,但有一點問題.... 首先它顯示未定義偏移量1,第二個概率是它插入零在item_id和數量列中每次我運行它 – 2012-03-22 04:31:08

0

對於

$_session['cart_array'] = array(array("item_id" => 1, "quantity"=>1),array("item_id" => 2, "quantity"=>2)); 

    foreach($_session['cart_array'] as $key=>$val){ 
     mysql_query("INSERT INTO (id, product_name, product_quantity) VALUES ('".$val->item_id."','NULL', '".$val->quantity."')"); 

    } 

這是你想要的嗎?

0

Serialize你的數組與PHP函數searialize($yourarray)和存儲在數據庫中。

從數據庫中提取後,使用unserialize()作爲實際數組。

更多詳情請看這裏:PHP: Using serialize to handle and store arrays

+0

將工作插入數據到三列id,product_id和product_quantity 。 我不想將數組存儲爲單列中的字符串.as serialize does – 2012-03-22 07:22:17

+0

沒有辦法將數組直接存儲在數據庫中。對於三列,您可以製作強制序列化的字符串並將它們存儲在相應的列中。 – 2012-03-22 07:27:32

+0

好,這是我的情況下 陣列( [0] =>數組([ITEM_ID] => 1 [量] => 2) [1] =>數組([ITEM_ID] => 4 [量] = > 1) ) 我看到了教程,但這不是我的情況...任何幫助請 – 2012-03-22 07:36:00