插入MySQL无法正常工作

时间:2014-12-03 15:23:19

标签: php mysql insert

这是我在某个地方发现的一个简单的购物车,很久以前,现在需要制作一个订购系统。但是出于某些或其他奇怪的原因,它不会插入我提供的所有字段!

我的功能如下:

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中是否有某种限制,因为有问题的表没有主键?我无法解决问题!

请,任何帮助将不胜感激,谢谢。

2 个答案:

答案 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)");

也许是更多的变量字符串。在查询中引用这些