簡體   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