0

你如何检查它是否真的在php中找到了mysql查询的结果

例如

$usersearch=mysql_query("Select * FROM users WHERE username=$Searchboxinput");
if($usersearch==successfull){
//What happens when successfull
}
else{
//what happens when unsuccessfull
}

所以如果它找到一个匹配 $searchboxinput 的用户,它会做一些事情,反之亦然

4

4 回答 4

3

利用mysql_num_rows()

if(mysql_num_rows($usersearch) > 0){
//What happens when successfull
}
else{
//what happens when unsuccessfull
}

仅供参考,您不应该mysql_*在新代码中使用函数。它们不再被维护并被正式弃用。看到红框了吗?改为了解准备好的语句,并使用PDOMySQLi -本文将帮助您决定使用哪个。如果您选择 PDO,这里有一个很好的教程

您也可能对SQL 注入持开放态度。

于 2013-05-13T17:52:18.200 回答
1

尝试,

//mysql_query returns resource when successful 
if(mysql_num_rows($usersearch) > 0 ) {...}
else {...}

手动的

注意:不推荐使用 Mysql_* 扩展。尝试改用 PDO 或 Mysqli 扩展。

于 2013-05-13T17:52:39.623 回答
0

像这样检查

$count = mysql_num_rows($usersearch);


if($count)>0) {
}
于 2013-05-13T17:52:26.297 回答
0

$usersearch如果查询能够执行(无论是否存在匹配),或者如果查询由于某种原因实际失败,它将包含一个指向查询结果集的指针,它的值将是false.

因此,您需要检查结果集以查看是否确实返回了任何记录。通常,这只需使用mysql_num_rows(). 这是一个例子:

$usersearch=mysql_query("Select * FROM users WHERE username=$Searchboxinput");
if(false === $usersearch){
    // there was a problem running the query
    echo mysql_error();
} else if (mysql_num_rows($usersearch) === 0) {
    // no results were found
} else {
    //  you have at least one record returned
}

我还建议您学习使用mysqli或不推荐使用PDO这些mysql_*功能。

于 2013-05-13T17:57:02.357 回答