我正在查找如何使用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多行。
答案 0 :(得分:5)
您正在混合使用MySQL API,但您无法做到这一点。将mysql_fetch_row更改为mysqli_fetch_row - 这不是朗姆酒&可乐。 - 弗雷德-ii-
答案 1 :(得分:1)
您可以执行以下操作:
$SQL = "SELECT * FROM table";
$result = mysqli_query($connection, $SQL);
$num_rows = mysqli_num_rows($result);
$num_rows
将是一个数字,作为您的总表行号。
答案 2 :(得分:0)
以下是您应该如何获取总行数。
$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);
答案 3 :(得分:0)
我建议使用PDO:
$db = new PDO("...");
$sql="SELECT count(*) FROM articles";
$result = $db->query($sql);
$row = $result->fetch(PDO::FETCH_NUM);
echo $row[0];
答案 4 :(得分:0)
如果您选择COUNT(*)
,它已经保存到内存中,您可以这样做
$sql = "SELECT COUNT(*) FROM articles";
$result = mysqli_query($con, $sql);
$count = mysqli_result($result, 0);