繁体   English   中英

计算SQL数据库中的行数

[英]Count number of rows in SQL database

我试图根据使用PHP的SQL查询来查看有多少行。

我似乎能够查询数据库并从一行返回字段,但似乎无法根据同一查询找出有多少行。

<?php
    $host = 'localhost';
    $user = 'MyUsername';
    $pass = 'MyPassword';
    $database = 'MyDatabase';


    $con=mysqli_connect($host,$user,$pass ,$database);
    // Check connection
    if (mysqli_connect_errno())
    {
        echo "Failed to connect to MySQL: " . mysqli_connect_error();
    }

    $result = mysqli_query($con,"SELECT * FROM MyTable WHERE test='123' AND test2='456'");
    $num_rows = mysql_num_rows($result);
    echo "$num_rows Rows\n"; 

    mysqli_close($con);

      ?> 

它返回的只是屏幕上的文本“ 数”,开头没有行数。

就像我说的一样,如果我尝试使用以下命令选择一行,则该查询有效并返回值:

while($row = mysqli_fetch_array($result))
   {
    echo $row["test"];
   }

有人知道为什么它不返回行数吗?

您正在使用MySQLi。 由于您没有mysql查询,因此mysql_num_rows不会返回所需的值。 您必须将mysqli函数替换为mysqli equal:

$num_rows = mysqli_num_rows($result);

您正在使用Mysqli ,应使用mysqli_num_rows

$ result = mysqli_query($ con,“ SELECT * FROM MyTable WHERE test ='123'AND test2 ='456'”); $ num_rows = mysqli_num_rows($ result);

如果只想count则可以像这样直接使用count(*) :-

$ result = mysqli_query($ con,“从MyTable中选择COUNT(*),其中test ='123'和test2 ='456'”));

回声$结果;

我会做这样的事情:

$result = mysqli_query($con,"SELECT COUNT(*) FROM MyTable WHERE test='123' AND test2='456'");
echo $result

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM