Php 计数总是返回1

Php 计数总是返回1,php,sql,Php,Sql,我的问题是obj->num_rows不断返回1以下是我的代码: $open_tickets = $con->query("SELECT COUNT(*) FROM support_tickets WHERE Username='" . $_SESSION['user'] . "'"); echo '<table><tr><th>Open Tickets</th><td>' . $open_tickets->num_r

我的问题是
obj->num_rows
不断返回
1
以下是我的代码:

$open_tickets = $con->query("SELECT COUNT(*) FROM support_tickets WHERE Username='" . $_SESSION['user'] . "'");
    echo '<table><tr><th>Open Tickets</th><td>' . $open_tickets->num_rows . '</td></tr></table>';
$open_tickets->close();
$open\u tickets=$con->query(“从支持\u tickets中选择COUNT(*),其中Username='”。$\u会话['user'].“”);
回音“公开票”$打开\u tickets->num\u行。“;
$open_tickets->close();
$\u会话['user']
当前是
dextermb


正如您在我的SQL表中所看到的,有两个名为dextermb的票证,那么为什么代码总是返回
1

您得到的是返回的行数-当然,这只会是1。您可能希望得到返回的值,而不是行数。

您得到的是返回的行数-当然,这只会是1。您可能希望得到返回的值,而不是行数。

您得到的是返回的行数-当然,这只会是1。您可能希望得到返回的值,而不是行数。

您得到的是返回的行数-当然,这只会是1。您可能希望获得返回的值,而不是行数。

试试这个

 $open_tickets = $con->query("SELECT * FROM support_tickets WHERE Username='" .                        $_SESSION['user'] . "'");
 echo '<table><tr><th>Open Tickets</th><td>' . count($open_tickets) . '</td></tr>   </table>';
  $open_tickets->close();
$open\u tickets=$con->query(“从支持\u tickets中选择*,其中Username='.”“$\u会话['user'].””;
回音“公开票”。计数($open_票)。“”;
$open_tickets->close();
试试这个

 $open_tickets = $con->query("SELECT * FROM support_tickets WHERE Username='" .                        $_SESSION['user'] . "'");
 echo '<table><tr><th>Open Tickets</th><td>' . count($open_tickets) . '</td></tr>   </table>';
  $open_tickets->close();
$open\u tickets=$con->query(“从支持\u tickets中选择*,其中Username='.”“$\u会话['user'].””;
回音“公开票”。计数($open_票)。“”;
$open_tickets->close();
试试这个

 $open_tickets = $con->query("SELECT * FROM support_tickets WHERE Username='" .                        $_SESSION['user'] . "'");
 echo '<table><tr><th>Open Tickets</th><td>' . count($open_tickets) . '</td></tr>   </table>';
  $open_tickets->close();
$open\u tickets=$con->query(“从支持\u tickets中选择*,其中Username='.”“$\u会话['user'].””;
回音“公开票”。计数($open_票)。“”;
$open_tickets->close();
试试这个

 $open_tickets = $con->query("SELECT * FROM support_tickets WHERE Username='" .                        $_SESSION['user'] . "'");
 echo '<table><tr><th>Open Tickets</th><td>' . count($open_tickets) . '</td></tr>   </table>';
  $open_tickets->close();
$open\u tickets=$con->query(“从支持\u tickets中选择*,其中Username='.”“$\u会话['user'].””;
回音“公开票”。计数($open_票)。“”;
$open_tickets->close();

查询将返回计数,只需使用值即可

尝试:

$open\u tickets=$con->query(“从支持\u tickets中选择COUNT(*),其中Username='”。$\u会话['user'].“”);
回音“公开票”$开罚单;

$open_tickets->close()

查询将返回计数,只需使用值即可

尝试:

$open\u tickets=$con->query(“从支持\u tickets中选择COUNT(*),其中Username='”。$\u会话['user'].“”);
回音“公开票”$开罚单;

$open_tickets->close()

查询将返回计数,只需使用值即可

尝试:

$open\u tickets=$con->query(“从支持\u tickets中选择COUNT(*),其中Username='”。$\u会话['user'].“”);
回音“公开票”$开罚单;

$open_tickets->close()

查询将返回计数,只需使用值即可

尝试:

$open\u tickets=$con->query(“从支持\u tickets中选择COUNT(*),其中Username='”。$\u会话['user'].“”);
回音“公开票”$开罚单;
$open_tickets->close()

试试这个:

$stm = $con->prepare("SELECT COUNT(*) as total FROM support_tickets WHERE Username = :username");
$stm->bindParam(':username', $_SESSION['user']);
$stm->execute();
$row = $res->fetch();
echo '<table><tr><th>Open Tickets</th><td>' . $row->total . '</td></tr></table>';
$stm=$con->prepare(“选择COUNT(*)作为来自支持的总计,其中Username=:Username”);
$stm->bindParam(':username',$\会话['user']);
$stm->execute();
$row=$res->fetch();
回音“公开票”$行->总计';
注意准备和绑定参数方法。这样可以避免SQL注入。

尝试以下方法:

$stm = $con->prepare("SELECT COUNT(*) as total FROM support_tickets WHERE Username = :username");
$stm->bindParam(':username', $_SESSION['user']);
$stm->execute();
$row = $res->fetch();
echo '<table><tr><th>Open Tickets</th><td>' . $row->total . '</td></tr></table>';
$stm=$con->prepare(“选择COUNT(*)作为来自支持的总计,其中Username=:Username”);
$stm->bindParam(':username',$\会话['user']);
$stm->execute();
$row=$res->fetch();
回音“公开票”$行->总计';
注意准备和绑定参数方法。这样可以避免SQL注入。

尝试以下方法:

$stm = $con->prepare("SELECT COUNT(*) as total FROM support_tickets WHERE Username = :username");
$stm->bindParam(':username', $_SESSION['user']);
$stm->execute();
$row = $res->fetch();
echo '<table><tr><th>Open Tickets</th><td>' . $row->total . '</td></tr></table>';
$stm=$con->prepare(“选择COUNT(*)作为来自支持的总计,其中Username=:Username”);
$stm->bindParam(':username',$\会话['user']);
$stm->execute();
$row=$res->fetch();
回音“公开票”$行->总计';
注意准备和绑定参数方法。这样可以避免SQL注入。

尝试以下方法:

$stm = $con->prepare("SELECT COUNT(*) as total FROM support_tickets WHERE Username = :username");
$stm->bindParam(':username', $_SESSION['user']);
$stm->execute();
$row = $res->fetch();
echo '<table><tr><th>Open Tickets</th><td>' . $row->total . '</td></tr></table>';
$stm=$con->prepare(“选择COUNT(*)作为来自支持的总计,其中Username=:Username”);
$stm->bindParam(':username',$\会话['user']);
$stm->execute();
$row=$res->fetch();
回音“公开票”$行->总计';

注意准备和绑定参数方法。这样可以避免SQL注入。

您查看的是
num\u行
,而不是查询返回的值。没有
groupby
的聚合查询总是只返回一行。@GordonLinoff-即使我在查询末尾添加
groupby Username
,它仍然返回
1
,这是因为用户名是相同的
COUNT(*)
是您要查找的值。查询中的值是
2
,但是您正在计算
1
的值的数量,您是否得到差异?将查询更改为
SELECT*FROM
,然后使用
$open\u tickets->num\u rows
将得到2个。@ICanHasCheezburger-成功了!感谢您的帮助,如果愿意,请提交答案。您查看的是
num_rows
,而不是查询返回的值。没有
groupby
的聚合查询总是只返回一行。@GordonLinoff-即使我在查询末尾添加
groupby Username
,它仍然返回
1
,这是因为用户名是相同的
COUNT(*)
是您要查找的值。查询中的值是
2
,但是您正在计算
1
的值的数量,您是否得到差异?将查询更改为
选择*然后使用
$open_