簡體   English   中英

行數的獲取結果

[英]Fetching result of number of rows

我一直在尋找如何用php / mysql計算表中的行數。 我想出了這個:

// Count rows
$sql = "SELECT COUNT(*) FROM articles";
$result = mysqli_query($con,$sql);
$max = mysql_fetch_row($result);

看來查詢失敗了:

警告:mysql_fetch_row()期望參數1為資源,第14行在/home/rlcoachi/public_html/hat/news.php中給出的對象

表名稱正確,並且表中有20多個行。

您正在混合使用MySQL API,但您無法做到這一點。 將mysql_fetch_row更改為mysqli_fetch_row-這不是朗姆酒和可樂。 –弗雷德-ii-

您可以執行以下操作:

$SQL = "SELECT * FROM table";
$result = mysqli_query($connection, $SQL);
$num_rows = mysqli_num_rows($result);

$num_rows將是一個數字,即表格的總行數。

這是您應該執行的操作以獲取總行數。

$mysqli = new mysqli('localhost', 'user', 'pass', 'database');

$query = $mysqli->query("SELECT SQL_CALC_FOUND_ROWS * from articles");
$totalRow = $mysqli->query("SELECT FOUND_ROWS()");

或者,根據您的代碼,您可以執行以下操作:

$sql = "SELECT COUNT(*) FROM articles";
$result = mysqli_query($con,$sql);
$max = mysqli_num_rows($result);

我建議為此使用PDO:

$db = new PDO("...");
$sql="SELECT count(*) FROM articles";
$result = $db->query($sql);
$row = $result->fetch(PDO::FETCH_NUM);
echo $row[0];

如果您選擇COUNT(*) ,則它已經保存到內存中,因此您可以執行

$sql = "SELECT COUNT(*) FROM articles";
$result = mysqli_query($con, $sql);
$count = mysqli_result($result, 0);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM