Mysql_num_rows php / mysql的问题

时间:2014-09-12 04:50:19

标签: php mysql

我试图让电子邮件验证工作。因此,我的PHP代码会触发一个查询,如果它有任何匹配电子邮件的行,则应返回该查询。如果返回1行,则返回一条错误消息,我在代码中的其他地方并将我的有效布尔值设置为false。

然而,我收到此错误"警告:mysql_num_rows()期望参数1是资源,"

中给出的对象

我认为我使用mysql_num_rows()错了,但我是php / mysql的新手:(我似乎无法弄清楚。

这是我的代码的相关部分。

$conn = @mysqli_connect("server","user","pass","database");

if (!$conn) {
    // Displays an error message
    echo "<p>Database connection failure</p>";

////

        $sql_table="Customer";
        $query="SELECT * FROM $sql_table WHERE EMAIL = '$email'";
        $result = mysqli_query($conn, $query);

            if (mysql_num_rows($result) >= 1) { //<-- Offending line

                                $takenErr = "Email already taken ";
                                $valid = false; }

        if (!$result) {
            echo "<p> something is wrong with ", $query, "<p>";
            }

谢谢你们的家伙们! :)

2 个答案:

答案 0 :(得分:1)

您可以使用

$row_cnt = $result->num_rows;

mysqli_num_rows($result);

您正在使用mysqli驱动程序,因此请始终使用它。

答案 1 :(得分:0)

您正在混合使用mysqli_ *和mysql_ *函数。

试试这个:

if (mysqli_num_rows($result) > 0) { 

    $takenErr = "Email already taken ";
    $valid = false; 

}

有关详细信息,请阅读 mysqli_*