@是压制报告错误信息的是吧 把它去掉就显示你的错误了 可能这个sql语句执行都没过去,只是看不到错误报告

解决方案 »

  1.   

    可以用echo mysql_error();再看看更详细的错误报告.
      

  2.   

    把'null'改成"null"试试,去掉@,另外改一下:
    if ($sql_result){
       echo "用户资料添加成功!!!";
    }
    else{
       echo "error";
    }
      

  3.   

    mysql_query($sql) or die(mysql_error());
      

  4.   

    数据类型都对吗?
    crdate 不是字符串吧 ('$userid','$passwd','$email','$homepage','$oicq','$online',$crdate,'$nice','$icon','null','null','null','null','null')
      

  5.   

    如果上述方法不行,打印变量$sql,然后在页面中把$sql的值粘贴出来,到数据库总值性一下该sql,看看有没有帮助