为什么 COUNT 函数在 php 中给出错误的输入而在 phpmyadmin sql

当在 Phpmyadmin 中执行查询时,我试图计算表中非 NULL 的行,它给了我正确的输出。


SELECT COUNT(`column_name`) FROM `Table_name`

但是当我试图在 Php 中执行它时,它总是返回一个我尝试了 2 种方法,由于某些原因都返回一种方法有什么想法吗?


方法一


$query = "SELECT COUNT(`column_name`) FROM `Table_name`";

if ($result = $mysqli->query($query)) {


        $field1name = $rowcount=mysqli_num_rows($result);



        echo '<tr> 

                  <td>English</td> 

                  <td>'.$field1name.'</td> 


              </tr>';


    $result->free();


方法二


$query = "SELECT COUNT(`column_name`) FROM `Table_name`";

if ($result = $mysqli->query($query)) {

    while ($rowcount = $result->fetch_assoc()) {

        $field1name = $rowcount=mysqli_num_rows($result);



        echo '<tr> 

                  <td>Bahdini</td> 

                  <td>'.$field1name.'</td> 


              </tr>';

    }

    $result->free();

}


慕沐林林
浏览 87回答 2
2回答

白板的微信

SELECT COUNT 查询返回 1 行的结果集,在该行中您将获得行数:如您所述的 10228。函数 mysqli_num_rows 返回 RESULTSET 中的行数,这就是它返回 1 的原因。

浮云间

你有几个连续的分配..这是你的预期结果??$field1name = $rowcount =mysqli_num_rows($result);Instaed 你应该为你的计数使用一个合适的列别名,然后查询,fecth,循环结果并显示$query = "SELECT COUNT(`column_name`) my_count FROM `Table_name`";$result = mysqli_query($conn, $query );&nbsp; &nbsp; &nbsp;if (mysqli_num_rows($result) > 0) {&nbsp; &nbsp; &nbsp; &nbsp; while($row = mysqli_fetch_assoc($result)) {&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;echo "Name: " . $row["my_count"]. "<br>";&nbsp; &nbsp; &nbsp; &nbsp; }&nbsp; &nbsp; &nbsp;} else {&nbsp; &nbsp; &nbsp; &nbsp; echo "0 results";&nbsp; &nbsp; &nbsp;}
打开App,查看更多内容
随时随地看视频慕课网APP