使用准备好的语句返回 mySQL 中的行数

Returning Number of Rows in mySQL Using Prepared Statements

我刚刚开始学习 return 从 mySQL 收集数据的准备语句。我正在尝试获取在查询 运行s 时 returned 的行数并显示行数但是当我 运行 以下不仅不 return 行数,但它也不显示 php 标记结束后的其余 html 代码。

  <ul class="list-group">
<li class="list-group-item list-group-item-success">Currently Open: 
<?php require('db/config/mysql_connect.php'); 

$query = "SELECT * from ost_ticket WHERE status_id = 1";
if ($stmt = $mysqli->prepare($query)) {

    /* execute query */
    $stmt->execute();

    /* store result */
    $stmt->store_result();

    printf($stmt->num_rows);

    /* close statement */
    $stmt->close();
}

/* close connection */
$mysqli->close();


?>
<strong> Tickets</strong> | Opened Today:
<?php



?>
<strong> Tickets </strong>| Closed Today: <strong>### Tickets</strong></li></ul>

如果您只想显示行数,只需将查询替换为:

$query = "SELECT count(*) from ost_ticket WHERE status_id = 1";

通过此查询,您可以显示 table ost_ticket 中的行数,这就是您要查找的 table。

Printf 函数需要格式字符串,然后是参数。您只传递了一个参数,因此 printf 函数很可能失败并杀死了您的 php.

在您的 php 中,您目前有 printf 语句,将其替换为以下内容:

$numResults = $stmt->num_rows;

然后在 html 下方您要显示行数的位置,放置:

<?php print $numResults ?>