Php 查看mysql中是否返回了行的不同方法?

Php 查看mysql中是否返回了行的不同方法?,php,mysql,mysqli,Php,Mysql,Mysqli,我不确定是否有类似的问题,因为我不确定搜索什么,但无论如何 在执行查询(有一个表)之后,我有两种方法检查是否返回了一行: $a = $members->prepare("select userid from users where userid = ?"); $a->bind_param('s', $_SESSION['token']); $a->execute(); $a->store_result(); if ($a->num_rows == 1) {

我不确定是否有类似的问题,因为我不确定搜索什么,但无论如何

在执行查询(有一个表)之后,我有两种方法检查是否返回了一行:

$a = $members->prepare("select userid from users where userid = ?");
$a->bind_param('s', $_SESSION['token']);
$a->execute();
$a->store_result();
if ($a->num_rows == 1) {
    // do something
}
或:


哪一个最适合用于查看是否返回了行?我认为,因为num_rows是用于此目的的,所以应该使用它,但您必须存储结果集,所以我不确定,谢谢。

将限制0,1添加到sql查询中,您可以使用您喜欢的限制。
但是我更喜欢第一个。

第一个选项可能是最好的。顺便说一下,从php.net:

如果查询没有返回结果,mysqli_store_result()将返回FALSE 结果集

如果读取结果集失败,此函数也将返回FALSE

所以你也可以说:

if ($a->store_result()) {
    // do something
}
if ($a->store_result()) {
    // do something
}