[英]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.