$select2="select * from borroww where bookname='$bookname'";
$query2=mysql_query($select2);
$row2=mysql_fetch_array($query2);
if($query2)
      {
     $update1="update borroww set shuliang=$row2[shuliang]+$shuliang where bookname='$bookname'";
 $query3=mysql_query($update1);
 if($query3)
   {
   echo "<script language='javascript'>alert('借阅成功');history.back();</script>"; }
  }
这不知道是怎么回事,我查询语句里写了WHERE,但是无论怎样都是会去执行IF语句的,都会提示借阅成功的,这是为什么

解决方案 »

  1.   

    if($query2) //这个是真的。你应该 if($row2)  使用这个作判断条件
      

  2.   

    mysql_query()函数只要查询成功都返回true。
    不过你那个UPDATE语句会返回true很神奇...
      

  3.   

    mysql_query 在执行非 select 指令时返回逻辑值,表示sql指令是否有误
    你需要用 mysql_affected_rows 函数检查sql指令执行的情况
      

  4.   

    $query3为true只是表示你的sql语句是合法的可以被服务器执行 但并不表示update影响到行数