这是我在某个地方发现的一个简单的购物车,很久以前,现在需要制作一个订购系统。但是出于某些或其他奇怪的原因,它不会插入我提供的所有字段!
我的功能如下:
function get_categoryid($pid){
$result=mysql_query("select product_category_id from shopping_products where serial=$pid") or die("select product_category_id from shopping_products where serial=$pid"."<br/><br/>".mysql_error());
$row=mysql_fetch_array($result);
return $row['product_category_id'];
}
function get_thecategory($pid){
$result=mysql_query("select product_category_title from shopping_products where serial=$pid") or die("select product_category_title from shopping_products where serial=$pid"."<br/><br/>".mysql_error());
$row=mysql_fetch_array($result);
return $row['product_category_title'];
}
}
这是PHP代码,在客户填写他/她的信息后,它将被插入“shopping_order_detail”表。
if ( isset($_REQUEST['command']) && $_REQUEST['command']=='update'){
$name=$_REQUEST['name'];
$email=$_REQUEST['email'];
$address=$_REQUEST['address'];
$phone=$_REQUEST['phone'];
$loyalty=$_REQUEST['loyalty'];
$result=mysql_query("insert into shopping_customers values('','$name','$email','$address','$phone','$loyalty')");
$customerid=mysql_insert_id();
$date=date('Y-m-d');
$result=mysql_query("insert into shopping_orders values('','$date','$customerid')");
$orderid=mysql_insert_id();
/* ---- below my problem i think --- */
$max=count($_SESSION['cart']);
for($i=0;$i<$max;$i++){
$pid=$_SESSION['cart'][$i]['productid'];
$q=$_SESSION['cart'][$i]['qty'];
$price=get_price($pid);
$pcategoryid=get_categoryid($pid);
$pcategory=get_thecategory($pid);
$pvendor=get_thevendor($pid);
mysql_query("INSERT INTO shopping_order_detail VALUES($orderid,$pid,$q,$price,$pcategoryid,$pcategory,$pvendor)");
echo "vendor -" . $pvendor . " Order ID - " . $orderid . " - Product ID - " . $pid . " - Category ID ". $pcategoryid ." - Price R ". $price .".00 - Quantity ". $q. "- Category Title: ". $pcategory ."<Br>";
}
echo "<br>=======================================================================================<br>";
echo "<br>Data echoed above this works fine.. and pulls the correct shopping items<br>";
echo "<br>Sucess ......Data Inserted!<br>";
die('Thank You! your order has been placed');
}
这是我的问题!
“$ pcategoryid”被插入到表格中,但是在此之后我发布的任何数量的字段不仅不会插入,而且由于某些或其他原因,它也会阻止使用此脚本插入任何信息。
重温我的问题: 如果我从脚本中删除“$ pcategory”和“$ pvendor”,则会插入数据。如果我添加这两个字段,那么脚本不会插入,但是/并且它不会给出任何错误消息。
脚本底部的“Echo === etc”命令向我显示我的脚本正在运行,因为它在项目列表中循环时会显示这两个字段
我以这种方式设置了我的PHP错误代码:
ini_set('display_errors',1);
ini_set('display_startup_errors',1);
error_reporting(-1);
在Mysql中是否有某种限制,因为有问题的表没有主键?我无法解决问题!
请,任何帮助将不胜感激,谢谢。
答案 0 :(得分:1)
试试这个
$ result = mysql_query(“插入shopping_customers值('$ name','$ email','$ address','$ phone','$ loyalty')”);
并且
$result=mysql_query("insert into shopping_orders values('$date','$customerid')");
答案 1 :(得分:1)
get_thecategory($pid)
的结果是类别标题,一个字符串..
因此,必须为查询引用$pcategory
,如下所示:
mysql_query("INSERT INTO shopping_order_detail VALUES($orderid,$pid,$q,$price,$pcategoryid,'$pcategory',$pvendor)");
也许是更多的变量字符串。在查询中引用这些