本人刚开始学PHP,遇到个问题,就是这段代码,运行时最下面的mysql_query($sql)不执行,但是echo $sql;执行的代码是可以的,用执行的SQL代码在MYSQL查询分析器,是可以插入数据的,现在就搞不懂了,为什么mysql_query($sql);不执行呢,也不报什么错误~~!$db=mysql_connect($servername,$sqlservername,$sqlserverpws);
mysql_select_db($sqlname,$db) ;
$sql="select * from $sqltable where yd631_name='$yd631_name'";
$result=mysql_fetch_row(mysql_query($sql));if($result){
echo ("<script type='text/javascript'> alert('用户名在,你就不能注册这个名字');history.go(-1);</script>");}
else{
$sql="insert into $sqltable(yd631_name,yd631_pws,yd631_sex,yd631_age,yd631_call,yd631_email,yd631_address,yd631_time,yd631_pass) values ('$yd631_name','$yd631_pws','$yd631_sex','$yd631_age','$yd631_call','$yd631_email','$yd631_address','$yd631_time','$yd631_pass') ";
mysql_query($sql);
echo $sql;}

解决方案 »

  1.   

    $db=mysql_connect($servername,$sqlservername,$sqlserverpws) or ('不能连接到数据库!');php.ini中
    display_errors = Off 设定为 On另外检查用户名最好用mysql_num_rows();
    数据库用户名的字段添加索引 UNIQUE
      

  2.   

    能够连接到数据库,当我注册数据库中同名的记录时候,会弹出"用户名在,你就不能注册这个名字'",所以应该是能够连接到数据库的.
    就是不能够$sql="insert into $sqltable^^^^^^^写进去,不知道为什么..................
      

  3.   

    刚刚知道,是应为insert into 的时候,里面的值是汉字,改成数字就可以了,不知道是为什么.
    应该不是MYSQL的问题,是PHP的问题,但是不知道在哪里设置,请大家帮忙啊
      

  4.   

    在第二行 mysql_select_db($sqlname,$db) ; 
    后面插入:mysql_query("set names 'charset'"); 
      //charset的值与数据库的字符集保持一致
        例如:数据库的字符集为gb2312,查询语句应为:mysql_query("set names 'gb2312'"); 
      

  5.   

    输入进来的数据addslashes没有?