现在我使用此代码计算表的总行数:
$sql = "SELECT COUNT(*) AS Total FROM MyTable";
$result = mysqli->query($sql);
$numberOfRows = mysqli_fetch_object($result);
$numberOfRows = $numberOfRows->Total;
我试图转储不同的结果,当我在查询中不使用“AS”参数并在互联网上搜索它时,我得到了不同的结果,但尽管有很多例子我发现它们都没有显示没有“AS”参数的直接检索结果的代码。
...
从收到的答案和评论中,我尝试了这两个代码块,它们给出了预期的结果:
$sql = "SELECT COUNT(*) FROM MyTable";
$result = mysqli->query($sql);
然后: 使用fetch数组:
$numberOfRows = $result->fetch_array($result);
$numberOfRows = $numberOfRows[0];
使用fetch assoc:
$numberOfRows = $result->fetch_assoc($result);
$numberOfRows = $numberOfRows["COUNT(0)"];
性能方面我发现fetch数组效果稍好(没有操作码尝试)。
答案 0 :(得分:3)
如果您不使用AS
分配别名,则输出中列的名称将为COUNT(*)
。然后,您应该能够使用以下方法检索它:
$numberOfRows = $numberOfRows->{"COUNT(*)"}