$.ajax({
            type:"POST",
            url:"post.php",
            data:"v1="+$("#phone").val()+"&v2="+$("#cont").val(),
            success:function(msg){
             alert(msg);
              if(msg=='0'){
                 alert("OK");
               }else{
                 alert("ERR");
              }
             }
         });
post.php页面中只有: $v1=$_POST['v1']; $v2=$_POST['v2'];
 $sql=""insert into tab1 (v1,v2) values('$v1','$v1');
 $re=$dba->query($sql);  //这里$dba是我写的类,已经确定没有问题。
 if($re){echo 1;}else{echo 0;} 可以确定SQL语句没有问题,因为做了实验,$_POST也能得到传过来的值,但好像就是不能执行数据库操作,始终返回值是0

解决方案 »

  1.   

    $sql=""insert into tab1 (v1,v2) values('$v1','$v1');
    这双引号是···
      

  2.   

    呵呵,那个$sql=""insert into tab1 (v1,v2) values('$v1','$v1');
    这个双引号是我写这个帖子的时候疏忽的,不是实际代码就是这样写的,请高手忽略这行。
      

  3.   

    不能编辑自己的帖子?
    算了,重写个
    $.ajax({
                type:"POST",
                url:"post.php",
                data:"v1="+$("#phone").val()+"&v2="+$("#cont").val(),
                success:function(msg){
                  alert(msg);  //这里msg返回是0
                  if(msg==0){
                     alert("OK");
                   }else{
                     alert("ERR");
                  }
                 }
             });post.php页面中只有: $v1=$_POST['v1']; $v2=$_POST['v2'];
     $sql="insert into tab1 (v1,v2) values('$v1','$v1')";
     $re=$dba->query($sql); //这里$dba是我写的类,已经确定没有问题。
     if($re){echo 1;}else{echo 0;}
    请高手指点下。
      

  4.   

    1 post.php 页面是否有加载 dba 类。
    2 用firebug测一下,post 的参数是否正常。 输出一下sql 是否编码出现了问题。
    最好能实现数据库的profile  
    实在不行,$re=$dba->query($sql) or die($sql); 也行。
      

  5.   

    这样说吧,post.php页面没有问题,我把SQL语句改成select查询返回数据集条数,可以正常显示出正确的数字,也就是说,不执行insert命令就可以正常,不知道这是为什么?
      

  6.   

    不是和你说了吗?
    先绕开ajax,直接用表单提交去测试post.php
    这样就把可能的差错范围缩小了一半由于 select语句与insert语句的差异,所以select成功并不代表insert成功
      

  7.   

    在post.php页面先给$v1和$v2 赋值运行看看能不能插入到数据库,同时,$re是否有值.