从SQL Server表获取行数

时间:2015-04-22 17:39:15

标签: php sql-server count

在计算表中的行后,我遇到了获取正确值的问题。我在网上搜索但没有找到答案。

在数据库中我有一个包含所有类别的表,它们都有一个id,我想用这个列来计​​算。

我有这个PHP代码,它有效,但还有其他更好的方法来克服这个问题吗?

    $sql2 = "SELECT COUNT(id) FROM categories";
    $stmt2 = sqlsrv_query($conn, $sql2);
    $res = sqlsrv_fetch_array($stmt2, SQLSRV_FETCH_ASSOC);
    foreach($res as $row)
    {
        $rows = $row;
    }

    //if there are categories display them otherwise don't
    if ($rows > 0)
    {
        $sql = "SELECT * FROM categories";
        $stmt = sqlsrv_query($conn, $sql);

        while ($row = sqlsrv_fetch_array($stmt, SQLSRV_FETCH_ASSOC)) {
            echo "<a href='#' class='cat_links'>" . $row['category_name'] . "  - <font size='-1'>" . $row['category_description'] . "</font></a>";
        }
    }
    else
    {
        echo "<p style='text-align: center'>No categories yet.</p>";
    }

我认为必须是将$ stmt2变量从SQL资源转换为实际数字,或将$ res变量从数组转换为数字的更好方法。如果我尝试使用foreach回显整个数组,它只会打印出行数。这就是我现在用它来计算行数的原因。

我无法使用sqlsrv_num_rows函数,因为我收到错误或没有回答。

0 个答案:

没有答案