获取行数的结果

时间:2014-07-02 14:41:51

标签: php mysql

我正在查找如何使用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多行。

5 个答案:

答案 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);