簡體   English   中英

如何使用ID相同的變量值使用PHP INSERT將數組存儲到mysql

[英]How to store an array to mysql using PHP INSERT with same variable value for id

因此,我正在嘗試存儲_SESSION數組的值,這將使購物車在我的網站上正常工作。 我在向數據庫中插入相同的數組時遇到了麻煩-我猜我對多個數組有相同的ID,因此這是行不通的。 那是我的猜測。 我希望有一個人可以幫助我。

這是我第一次嘗試。

 <? $con = mysql_connect('bluecubecreatives.net', 'bluecu6_user', '*****'); if (!$con) { die('Could not connect: ' . mysql_error()); } mysql_select_db("bluecu6_databasename", $con); $itemsupdate = "INSERT INTO orderitems (ID, ORDER_ID, ITEM_ID, NAME, QUANTITY, SIZE, FOR, PRICE, TOTAL) VALUES (NULL, '$id', '$item_stock_id', '$item_name', '$item_quantity', '$item_size', '$item_for', '$item_price', '$item_total');"; mysql_query($itemsupdate); ?> 

這是我第二次嘗試修復它。

 $additems = array ('ID' => NULL, 'ORDER_ID' => $item_id, 'ITEM_ID' => $item_stock_id, 'NAME' => $item_name, 'QUANTITY' => $item_quantity, 'SIZE' => $item_size, 'FOR' => $item_for, 'PRICE' => $item_price, 'TOTAL' => $item_total); $update = "INSERT INTO orderitems (ID, ORDER_ID, ITEM_ID, NAME, QUANTITY, SIZE, FOR, PRICE, TOTAL) VALUES"; $it = new ArrayIterator( $additems ); // a new caching iterator gives us access to hasNext() $cit = new CachingIterator( $it ); // loop over the array foreach ( $cit as $value ) { // add to the query $sql .= "('".$cit->key()."','" .$cit->current()."')"; // if there is another array member, add a comma if( $cit->hasNext() ) { $sql .= ","; } } 

這里是完整的代碼,我正在嘗試將SESSION項目以及帳單+運送詳細信息推送到數據庫中。

 $connection = mysql_connect('bluecubecreatives.net', 'bluecu6', '****'); $selected = mysql_select_db("bluecu6", $connection) or die("Hello ONE, Sorry! This AI system couldn't connect to your database."); if (!$connection) { die('Could not connect: ' . mysql_error()); } if (isset($_GET['id'])) { $id = $_GET['id']; } else { $id = 1; } if (isset($_GET['size'])) { $size = $_GET['size']; } else { $size = "Standard"; } if (isset($_GET['quantity'])) { $quantity = $_GET['quantity']; $cart_update = 1; } else { $quantity = 0; $cart_update = 0; } if (isset($_GET['for'])) { $for = $_GET['for']; } else { $for = "All Purpose"; } if (isset($_GET['action'])) { $action = $_GET['action']; } else { $action="empty"; } $data = mysql_query("SELECT * FROM products WHERE ID= '" . $id . "';" ,$connection) or die(mysql_error()); $val = mysql_fetch_array($data); if ($action=="add") { $newitem = array ('id' => $id , 'name' => $val['PRO_NAME'], 'quantity' => $quantity, 'size' => $size,'for' => $for,'price' => $val['PRO_RS']); $_SESSION['item'][$id] = $newitem; } $_SESSION['quantity'] = $_SESSION['quantity'] + $cart_update; $in_cart = $_SESSION['quantity']; $_SESSION['cart_total'] = $in_cart; if ($_SESSION['cart_total'] <=0) { $_SESSION['cart_total'] = 0; } if ($id!=0) { switch($action) { case "view": if (isset($_SESSION['cart'][$id])) { $_SESSION['cart'][$id]; } else { $_SESSION['cart'][$id]=0; } break; case "refresh"; session_destroy(); break; case "delete"; if ($_SESSION['cart_total']==1) { $_SESSION['cart_total']=0; unset($_SESSION['item']); session_destroy(); } else if ($_SESSION['cart_total']>1) { $_SESSION['quantity']--; $_SESSION['cart_total']--; unset($_SESSION['item'][$id]); } break; case "add": if (isset($_SESSION['cart'][$id])) { $_SESSION['cart'][$id]++; } else { $_SESSION['cart'][$id]=1; } break; case "remove"; if (isset($_SESSION['cart'][$id])) { $_SESSION['cart'][$id]--; if ($_SESSION['cart'][$id]==0) { unset($_SESSION['cart'][$id]); $_SESSION['cart_total']--; } if ($_SESSION['cart'][$id]==-1) { unset($_SESSION['cart'][$id]); $_SESSION['cart_total']--; } } break; case "empty"; unset($_SESSION['cart']); $_SESSION['cart_total'] = 0; break; } } if($_POST['ADD_TOCONFIRM']){ $shipping_option = $_POST['shipping_option'];$payment_option = $_POST['payment_option'];$discount_val = $_POST['discount_val']; $bname = $_POST['name'];$baddress = $_POST['address'];$bcity = $_POST['city'];$bprovince = $_POST['province'];$bzip = $_POST['zip']; $bcountry = $_POST['country'];$bcontact = $_POST['contact'];$bemail = $_POST['email']; $sname = $_POST['sname'];$saddress = $_POST['saddress'];$scity = $_POST['scity'];$sprovince = $_POST['sprovince'];$szip = $_POST['szip']; $scountry = $_POST['scountry'];$scontact = $_POST['scontact'];$semail = $_POST['semail']; $status = "Pending"; // foreach ( $_SESSION['item'] AS $data ) { $xo = mysql_query("SELECT * FROM products WHERE ID= '" . $data['id'] . "';" ,$connection) or die(mysql_error()); $yo = mysql_fetch_array($xo); $l_cost = $data['price'] * $data['quantity']; $t_cost = $t_cost + $l_cost; $t_bill = $t_cost; $item_id = (int) $id; $item_stock_id = (int) $yo['ID']; $item_name = $yo['PRO_NAME']; $item_size = $data['size']; $item_for = $data['for']; $item_quantity = (int) $data['quantity']; $item_price = (int) $yo['PRO_RS']; $item_total = (int) $l_cost; $con = mysql_connect('bluecubecreatives.net', 'bluecu6', '***'); if (!$con) { die('Could not connect: ' . mysql_error()); } mysql_select_db("bluecu6", $con); $itemsupdate = "INSERT INTO orderitems (ID, ORDER_ID, ITEM_ID, NAME, QUANTITY, SIZE, FOR, PRICE, TOTAL) VALUES (NULL, '$item_id', '$item_stock_id', '$item_name', '$item_quantity', '$item_size', '$item_for', '$item_price', '$item_total');"; mysql_query($itemsupdate); echo '<br />'; echo $item_id. '<br />'; echo $item_stock_id. '<br />'; echo $item_name. '<br />'; echo $item_size. '<br />'; echo $item_for. '<br />'; echo $item_quantity. '<br />'; echo $item_price. '<br />'; echo $item_total. '<br />'; } if (($shipping_option!=="")&&($payment_option!=="")&&($bname!=="")&&($baddress!=="")&&($bcity!=="")&&($bprovince!=="")&&($bzip!=="")&&($bcountry!=="")&&($bcontact!=="")&&($bemail!=="")) { $con = mysql_connect('bluecubecreatives.net', 'bluecu6', '*****'); if (!$con) { die('Could not connect: ' . mysql_error()); } mysql_select_db("bluecu6", $con); $query = "INSERT INTO orders (ORDER_ID, SHIP_OPTION, PAY_OPTION, DISCOUNT, NAME, ADDRESS, CITY, PROVINCE, ZIP, COUNTRY, CONTACT, EMAIL, NAME_SHIP, ADDRESS_SHIP, CITY_SHIP, PROVINCE_SHIP, ZIP_SHIP, COUNTRY_SHIP, CONTACT_SHIP, EMAIL_SHIP, STATUS) VALUES (NULL, '$shipping_option', '$payment_option', '$discount_val', '$bname', '$baddress', '$bcity', '$bprovince', '$bzip', '$bcountry', '$bcontact', '$bemail', '$sname', '$saddress', '$scity', '$sprovince', '$szip', '$scountry', '$scontact', '$semail' , '$status');"; mysql_query($query); echo '<br />'; echo "success". '<br />'; echo '<br />'; echo $shipping_option. '<br />'; echo $payment_option. '<br />'; echo $discount_val. '<br />'; echo '<br />'; echo $bname. '<br />'; echo $baddress. '<br />'; echo $bcity. '<br />'; echo $bprovince. '<br />'; echo $bzip. '<br />'; echo $bcountry. '<br />'; echo $bcontact. '<br />'; echo $bemail. '<br />'; echo '<br />'; echo $sname. '<br />'; echo $saddress. '<br />'; echo $scity. '<br />'; echo $sprovince. '<br />'; echo $szip. '<br />'; echo $scountry. '<br />'; echo $scontact. '<br />'; echo $semail. '<br />'; echo '<br />'; echo $total_bill. '<br />'; //echo mysql_query($newitem). '<br />'; foreach ( $_SESSION['item'] AS $item ) { echo 'id: ' . $item['id'] . ' - '; echo 'name: ' . $item['name'] . ' - '; echo 'quantity: ' . $item['quantity'] . ' - '; echo 'size: ' . $item['size'] . ' - '; echo 'price: ' . $item['price'] . ' - '; echo 'for: ' . $item['for'] . '<br />'; $line_cost = $item['price'] * $item['quantity']; $total_cost = $total_cost + $line_cost; $total_bill = $total_cost; } echo '<br />'; echo '<br />'; echo $total_bill; echo '<br />'; echo '<br />'; mysql_close($con); } else { echo "please fill all options"; } } 

假設您有以下數組,

$additems = array ('ID' => NULL, 'ORDER_ID' => $item_id, 'ITEM_ID' => $item_stock_id, 'NAME' => $item_name, 'QUANTITY' => $item_quantity, 'SIZE' => $item_size, 'FOR' => $item_for, 'PRICE' => $item_price, 'TOTAL' => $item_total);    

您可以像執行查詢

$update =  "INSERT INTO orderitems (ORDER_ID, ITEM_ID, NAME, QUANTITY, SIZE, FOR, PRICE, TOTAL) VALUES ($additems['ORDER_ID'],$additems['ITEM_ID'],$additems['NAME'],$additems['QUANTITY'],$additems['SIZE'],$additems['FOR'],$additems['PRICE'],$additems['TOTAL'])";

試試這個,這應該工作。 隨時詢問您是否對此有任何疑問。

所以這是我的代碼出了什么問題。 我從mysql中提取了INSERT代碼,並在我的PHP文件中對其進行了配置。 突然,一切都開始了。

 $itemupdate = "INSERT INTO `orderitems`(`SESSION_ID`, `ORDER_ID`, `ITEM_ID`, `NAME`, `QUANTITY`, `SIZE`, `FOR`, `PRICE`, `TOTAL`, `NOTES`) VALUES ('$session_no','$item_id','$item_stock_id','$item_name','$item_quantity','$item_size','$item_for','$item_price','$item_total','notes');"; mysql_query($itemupdate); 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM