插入MySQL不能正常工作
这是一个简单的购物车,我发现某处,很久以前,现在需要做一个订购系统。但是由于某些或其他奇怪的原因,我不能插入所有的字段!插入MySQL不能正常工作
我下面的功能:
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'];
}
}
这里是它被插入到“shopping_order_detail”表中的客户机填补了他/她的信息之后的PHP代码。
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”,数据将被插入。如果我在问题中添加这两个字段,那么脚本不会插入,但是/并且它不会给出任何错误消息。
我的“回声===等”在脚本的底部命令让我发现,我的脚本工作,因为它显示了问题的两个领域时,它循环通过产品清单
我已经把我的PHP错误代码是这样的:
ini_set('display_errors',1);
ini_set('display_startup_errors',1);
error_reporting(-1);
这是Mysql中的某种限制,因为表中的问题没有主键?我无法解决问题!
请任何帮助将不胜感激谢谢。
试试这个
$结果= mysql_query( “插入shopping_customers VALUES( '$名称', '$电子邮件', '$地址', '$电话', '$忠诚')”);
而且
$result=mysql_query("insert into shopping_orders values('$date','$customerid')");
谢谢@Ranjeet Singh!在你和以前的用户Giwwel之间我找到了解决方案 – Cavemanharris 2014-12-03 15:52:11
的get_thecategory($pid)
结果是类别标题,一个字符串.. 所以$pcategory
必须加引号的查询是这样的:
mysql_query("INSERT INTO shopping_order_detail VALUES($orderid,$pid,$q,$price,$pcategoryid,'$pcategory',$pvendor)");
可能是多个变量字符串。在查询中也引用这些内容
谢谢@Giwwel!我是PHP新手,现在才意识到所有其他字段都不是字符串。谢谢。有用 ! – Cavemanharris 2014-12-03 15:50:48
我很高兴我能帮上忙 – Giwwel 2014-12-03 15:57:14
在旁注中,请使用mysql和NON参数化查询请求STOP。 – Jordy 2014-12-03 15:26:38
你可以发布查询的回声吗? 'echo“INSERT INTO shopping_order_detail VALUES($ orderid,$ pid,$ q,$ price,$ pcategoryid,$ pcategory,$ pvendor)”' – Giwwel 2014-12-03 15:27:17
请确保您的插入查询中的字段顺序是正确的,并且这些字段实际上存在于你的桌子上。在旁注中,请停止使用mysql和非参数化查询。你会在以后节省一些严重的头痛。 – sotoz 2014-12-03 15:30:00