我试图让电子邮件验证工作。因此,我的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>";
}
谢谢你们的家伙们! :)
答案 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_*