为什么mysql_num_rows在检查时显示错误

时间:2015-04-16 00:13:36

标签: php

我已使用此代码提交文件但显示错误

    <?PHP
    //consider it connected to database already
    $name=$_POST['name'];
    $age=$_POST['age'];
    $sql="SELECT * FROM users WHERE name='$name' AND age='$age'";
    $query=mysql_query($sql);
    $num=mysql_num_rows($query);
    if($num==1){
    $_SESSION['name']="$name";
    $_SESSION['age']="$age";
    header("Location:thanks.php");
    }else{
    echo "none";
    }
    ?>

我收到错误如下

  

警告:mysql_num_rows():提供的参数不是第6行的C:\ AppServ \ www \ script \ users.php中的有效MySQL结果资源

但我没有看到任何错误,所以为什么会出现这个错误!所以任何帮助

1 个答案:

答案 0 :(得分:0)

首先,你真的应该使用mysqli api,因为mysql是折旧的。

其次,mysql_query将在成功时返回资源,或者在出错时返回false。由于对mysql_num_rows的调用引发了一个关于不接收资源的错误,因此可以安全地假设您的查询由于某种原因而抛出错误/失败。

您可以使用mysql_error来帮助您进行调试。