你把 echo "fail" 改成
echo mysql_error();
就真相大白了!orderNo 是自增的,也就是主键
而主键是不可重复的
你给他赋予 $num 的值,那就有可能违规了
既然你在插入时开列了字段名,那自增字段就不需要也在其中了
$sql="INSERT INTO order(cusNo,orderDate,orderSum,orderAddress) VALUES  ('$_SESSION[admin]',   '$time','$sum','$_POST[orderAddress]')";

解决方案 »

  1.   

    因为我对auto_increasement不熟悉   我也没把orderNo设为主键 但是 刚刚按照你说的改了一下   报错如下:
    Error: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'order(cusNo,orderDate,orderSum,orderAddress) VALUES ('1', '20140731','94','2')' at line 1
    就还是我的插入语法有问题还是什么........
      

  2.   

    order 加上转义字符试试。
    $sql="INSERT INTO `order`(cusNo,orderDate,orderSum,orderAddress) VALUES  ('$_SESSION[admin]',   '$time','$sum','$_POST[orderAddress]')"; 
      

  3.   

    现在还报什么错?同时贴出show create table order; 看看。
      

  4.   

    错误还是上面那个:
    Error: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'order(cusNo,orderDate,orderSum,orderAddress) VALUES ('2', '20140731','94','111'' at line 1
    说是有语法错误
    我的数据表是这样的(这是一张订单表 用于购买时生成订单记录的)
      

  5.   

    orderNo 应该设置为自动编号和主键 $sql="INSERT INTO order(cusNo,orderDate,orderSum,orderAddress) VALUES  ('$_SESSION[admin]',   '$time','$sum','$_POST[orderAddress]')"; 
    echo $sql;
    贴出结果看看
      

  6.   

    现在你的$sql 是如何写的?贴出来看看。是不是复制我#3 的代码。
      

  7.   

    结果是:
    INSERT INTO order(cusNo,orderDate,orderSum,orderAddress) VALUES ('2', '20140731','94','1111')
    Error: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'order(cusNo,orderDate,orderSum,orderAddress) VALUES ('2', '20140731','94','1111' at line 1
    我的代码:就是和#3一样的
        $sql="INSERT INTO order(cusNo,orderDate,orderSum,orderAddress) VALUES  ('$_SESSION[admin]', '$time','$sum','$_POST[orderAddress]')";
    echo $sql;
    echo"</br>";
        if (!mysql_query($sql,$corn))
            die('Error: ' . mysql_error());
        else 
            echo "success";
    ?>
      

  8.   

    orderfNo已经设为主键 并且自增了
      

  9.   

    `order`     注意前后转义符。
      

  10.   

      改成这样:
     $sql="INSERT INTO 'order' (cusNo,orderDate,orderSum,orderAddress) VALUES  ('$_SESSION[admin]', '$time','$sum','$_POST[orderAddress]')";
    echo $sql;
    没差耶 错误提示变成这样了:
    INSERT INTO 'order' (cusNo,orderDate,orderSum,orderAddress) VALUES ('2', '20140731','94','1111')
    Error: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''order' (cusNo,orderDate,orderSum,orderAddress) VALUES ('2', '20140731','94','1' at line 1
      

  11.   

    让你复制我的代码就那么难吗?`` 是Tab键上方的字符,不是单引号。