我做了一个用户注册的网页,检查用户输入的用户名是否存在:
<?php
if (empty ($_GET['userid']) || empty ($_GET['psswrd'])|| empty ($_GET['psswrd1']))
{
echo " 填写有错误,请 <a href='userinfo2.php'> 重新填写 </a>";
}
if($_GET['psswrd']!=$_GET['psswrd1'])
{
echo " 两次密码输入不同,请 <a href='userinfo2.php'> 重新填写 </a>";
}$link=mysql_connect("localhost","root","2670242");
mysql_select_db("pesticide sensitive crop database",$link);
$sql="SELECT Business_Owner FROM pesticide_sensitive_crop WHERE Userid=".$_GET['userid']." ";
$result=mysql_num_rows(mysql_query($sql));if($result)
{
echo " 已经有相同的用户名存在,请 <a href='userinfo2.php'> 重新填写 </a>";
}else{
$sql="INSERT INTO pesticide_sensitive_crop(Userid,Password) VALUES('".$_GET['userid']."','".$_GET['userid']."')";}
if(mysql_query($sql,$link))
{
echo " 注册成功,请立即 <a href='userinfo3.php'> 登陆 </a>";
}
else
{
echo " 注册失败,请 <a href='userinfo2.php'> 重试 </a>";
}
?>
<form id="form1" name="form1" method="get" action="/project2/userinfo3.php">
      <table width="100%" border="0" cellspacing="1" cellpadding="1">
        <tr>
          <th scope="col"><div align="right"><span class="STYLE7">UserID<span class="STYLE12">*</span>:</span></div></th>
          <th scope="col"><div align="left">
            <input name="userid" type="text"  size="25" />
          </div></th>
        </tr>
        <tr>
          <td class="STYLE7"><div align="right">Password<span class="STYLE12">*</span>:</div></td>
          <td><input name="psswrd" type="text" size="25" maxlength="20" /></td>
        </tr>
        <tr>
          <td class="STYLE7"><div align="right">Confirm Password<span class="STYLE12">*</span>:</div></td>
          <td><input name="psswrd1" type="text" size="25" maxlength="20" /></td>
        </tr>
        <tr>
          <td colspan="2"><div align="center">
   <input type="submit" name="Submit" onClick="MM_validateForm('psswrd','','R','psswrd1','','R');return document.MM_returnValue"  value="Submit" />

解决方案 »

  1.   

    mysql_select_db("pesticide sensitive crop database",$link); 这句话是什么意思????mysql_select_db是选择一个库,参数是库名。如,有个数据库“gingzai”,那么:mysql_select_db("gingzai");
      

  2.   

    "pesticide sensitive crop database" 
    这是我的数据库名阿
      

  3.   

    $sql="SELECT Business_Owner FROM pesticide_sensitive_crop WHERE Userid=".$_GET['userid']." "; 
    我觉得是你的sql有问题,不知道你后面加." "是什么意思,但是你这样等于在你的userid后面加了个空格,导致你的sql文错误
      

  4.   

    库名很奇怪!你的userid 应该是int吧
    $sql="SELECT Business_Owner FROM pesticide_sensitive_crop WHERE Userid=".$_GET['userid']; 就好了啊
      

  5.   

    $sql="SELECT Business_Owner FROM pesticide_sensitive_crop WHERE Userid=".$_GET['userid']." "; 改为$sql="SELECT Business_Owner FROM pesticide_sensitive_crop WHERE Userid=$_GET['userid']";
    试试另外 建议把 数据名字改一下  
      

  6.   

    估计是你sql出了问题,numrow的时候才会有问题
      

  7.   

    存在以下可能性:
    你userid是字符型,sql中忘加引号了$sql="SELECT Business_Owner FROM pesticide_sensitive_crop WHERE Userid='".$_GET['userid']."'"; 
      

  8.   

    query出问题了 代码意思是说你的$result有问题
      

  9.   

    把 $result=mysql_num_rows(mysql_query($sql)); 
    拆成
    $rs = mysql_query($sql) or die(mysql_error());
    $result=mysql_num_rows($rs); 
      

  10.   


    我在".$_GET['userid']."  加了引号,再测试的时没有出现Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in C:\AppServ\www\project2\userinfo2.php on line 15.  
    但是页面上有显示"已经有相同的用户名存在 注册成功,请立即  登陆"   这个句子一直存在,这是怎么回事,我还没有输入用户名阿.我的if 语句哪里出错了? 各位高手,请多指教阿,谢谢了