test1表  id classid xh name number time path 
test2表  id classid xh name number path
用户通过添加页面将信息首先写入test1表,然后再写入test2表,目前写入test1表是成功的,数据都可以打印出来,但是写入test2表不成功,实在找不出原因,特来请教各位前辈!
if ($_GET['act'] == "addok") {
    $xh = $_POST["xh"];
    $name = $_POST["name"];
    $model = $_POST["model"];
    $number = $_POST["number"];
    $time=$_POST["time"];    
    $classid = $_POST["classid"];    $result = $db->query("select * from  `".$prefix."test1`");
    $rs = mysql_fetch_array($result);
    $path = $rs['path'];
 $db->insert("INSERT INTO  `".$prefix."test1` (`xh`,`name`,`model`,`number`,`time`,`classid`,`path`) VALUES('".$xh."','".$name."','".$model."','".$number."','".$time."','".$classid."','".$path."')");
mysql_query($db);
$id = mysql_insert_id();//获取id;
//echo "$id"; 
  $db->insert("INSERT INTO  `".$prefix."test2` (`id`,`xh`,`name`,`model`,`classid`,`path`) VALUES('".$id."','".$xh."','".$name."','".$model."','".$classid."','".$path."')");
echo ("<script type='text/javascript'>alert('添加成功!');history.go(-1);</script>");
exit;

解决方案 »

  1.   

    x."test2` (`id`,`xh`,`na你的test2 id 应该是自增的吧? 去掉这个 阿弥陀佛...insert("INSERT INTO  `".$prefix."test2` (`xh`,`name`,`model`,`classid`,`path`) VALUES('".$xh."','".$name."','".$model."','".$classid."','".$path."')");
      

  2.   

    你没执行吧。在下面加上:mysql_query($db);试试看。
      

  3.   

    回1楼 
    怪我没说清楚,我的test1和test2表ID是要同步的,所以test2必须要写入ID
      

  4.   

    用echo "$sql"; 把sql语句打印出来看看,看哪里的变量是否都正确
      

  5.   

    最后应该少了这个吧:mysql_query($db);
      

  6.   

    回2楼,
    感谢二楼的前辈,已经找到了问题所在。我的程序是一个设备销存系统,页面添加的number是入库的数量,而出库字段默认值我设置为0,今天我迁移了数据库才导致错误的,很奇怪在我的测试环境中,出库字段默认值我没有做任何赋值,所有的操作都是正常的,一迁移数据库就有问题了!