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_