上面说错了.应该是
$name=$_POST['name'];
$pass=$_POST['pass'];后mysql_query("insert  into  user  (name,password)  values  ($name,$pass)");能执行成功.
不知道是不是$_POST['name']与$_POST['pass']不能用在insert into 中?

解决方案 »

  1.   

    insert  into  user  (name,password)  values  ($name,$pass)
    需要
    insert  into  user  (name,password)  values  ('$name','$pass')
    的吧
      

  2.   

    就是这个问题
    mysql_query("insert into user (name,password) values ('$_POST['name']','$_POST['pass']')");
    应改为
    mysql_query("insert into user (name,password) values ('".$_POST['name']."','".$_POST['pass']."')");
      

  3.   

    像 $_POST['pass'] 这类变量是不能直接放进双引号的
    要么像我那样用连接符要么像patchclass那样转换成一个那种形式的变量
      

  4.   

    只是随便写的,主要就是想知道 $_POST['pass'] 这类变量应该怎么放在insert into 中
    但是现在还是有点晕乎乎的
      

  5.   

    例如在插入之前,你可以
    $pass = $_POST['pass'];
    这样就可以避免以上问题的发生
      

  6.   

    mysql_query("insert into user (name,password) values ('$_POST[name]','$_POST[pass]')");当关联数组的元素出现在双引号中时,关联键是不需要引号的,否则你应该用{}将数组元素括起这一点在手册中有详细的说明
      

  7.   

    写程序不要偷懒
    function filter_post($post='',$type='num',$trim_tag='yes'){
    //处理特殊的字符,去空格
    //
    }
    //好的习惯会哦
    $name = filter_post($_POST[name],'char','yes');
    $pass= filter_post($_POST[pass],'char','yes');//用连接符号'.'让你程序在没有php编辑器的情况下也很好阅读
    mysql_query("insert into user (name,password) 
    values ('".$name."','".$pass."')");