我有问题,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();
$_SESSION['user']
目前为dextermb
正如您在我的SQL表中看到的那样, 2个票名为dextermb ,为什么代码总是返回1
?
答案 0 :(得分:3)
您正在获取返回的行数 - 当然,这只会是1.您可能希望获得返回的值而不是行数。
答案 1 :(得分:0)
试试这个
$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();
答案 2 :(得分:0)
查询将返回计数,只需使用值。
尝试:
$open_tickets = $con->query("SELECT COUNT(*) FROM support_tickets WHERE Username='" . $_SESSION['user'] . "'");
echo '<table><tr><th>Open Tickets</th><td>' . $open_tickets . '</td></tr></table>';
$ open_tickets-&GT;关闭();
答案 3 :(得分:0)
试试这个:
$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>';
注意prepare和bindParam方法。这样就可以避免SQL注入。