$flag=mysql_query("insert into tb_leaveword(userid,createtime,title,content) values('$userid','$createtime','$title','$content')",$conn);
echo "$flag";
调试过程中,不知道为什么,echo打不出来返回值。mysql数据库连接是正常的,后面每个变量也都可以用echo打出来。数据也没写到数据库里面,到底出了什么问题呢?

解决方案 »

  1.   


    $sql="insert into tb_leaveword(userid,createtime,title,content) values('$userid','$createtime','$title','$content')";
    echo "sql-->>$sql<br>";
    $flag=mysql_query($sql,$conn);
    $num = mysql_affected_rows();  //执行sql所影响的行数
    echo "num-->>$num<br>";
    if($num > 0){
      echo "执行成功";
      while($rows = mysql_fetch_array($flag)){……}
    }else{
      echo "执行失败";
    }
      

  2.   

    mysql_query("insert into tb_leaveword(userid,createtime,title,content) values('$userid','$createtime','$title','$content')",$conn) or die(mysql_error());echo "$flag"; 没有东西就表示你的 SQL 语句有问题了mysql_query 在执行非 select 指令时,只返回逻辑值。false 用 echo 只能是没有内容
    要 var_dump($flag); 才行
      

  3.   

    我想知道的是SQL哪里有问题,为什么不能执行,不能写入到数据库?
      

  4.   

    我想知道这个SQL语句哪里有问题,为什么不能写入到数据库呢?
      

  5.   

    语法问题排除,但其它原因就没法给你排除,你需要贴出mysql_error()才能知道
      

  6.   

    现在搞好了。mysql_error()反馈的信息是原来注册表中有键值为1的键,清空一下数据库就可以了。SQL语句本身没有什么问题,楼上都是正解。不过那样写还是不太规范,都不知道出了什么问题。