我想把它放到数据库中。 然而,我收到一个意外错误,说列数与第1行的值计数不匹配。查询有什么问题?
<?php
if($_REQUEST['command']=='update'){
$charge = $_REQUEST['ocharge'];
$fname = $_REQUEST['ofname'];
$lname = $_REQUEST['olname'];
$mobile = $_REQUEST['omobile'];
$add1 = $_REQUEST['oadd1'];
$add2 = $_REQUEST['oadd2'];
$postcode = $_REQUEST['opostcode'];
$state = $_REQUEST['ostate'];
$country = $_REQUEST['ocountry'];
$weight = $_REQUEST['oweight'];
$credit = $_REQUEST['ocredit'];
$pin = $_REQUEST['opin'];
$city = $_REQUEST['ocity'];
$date=date('Y-m-d');
$time=time('H:i:s');
$result=mysql_query("insert into order values ('$date','$time','$charge','$fname','$lname','$mobile','$add1','$add2','$postcode','$state','$country','$weight','$credit','$pin','$city')");
$orderid=mysql_insert_id();
$max=count($_SESSION['cart']);
for($i=0;$i<$max;$i++){
$pid=$_SESSION['cart'][$i]['productid'];
$q=$_SESSION['cart'][$i]['qty'];
$price=get_price($pid);
$result1=mysql_query("insert into order_detail values ('$orderid','$pid','$q','$price')");
if($result1 === FALSE)
{
die("Query Failed!".mysql_error().$result1);
}
}
die('Thank You! your order has been placed!');
}
?>
答案 0 :(得分:1)
你这样做:
INSERT INTO table_name
VALUES (value1, value2, value3,...)
这需要您了解所有列及其序列。你需要全部使用它们。
但是,如果您知道可以省略哪些列,则可以使用此方法:
INSERT INTO table_name (column1, column2, column3,...)
VALUES (value1, value2, value3,...)
在此处,您可以指定要添加的列。如果所有其余列都定义了默认值或接受NULL,那么你就可以了。