MySQL - 计算php中的总行数

Cod*_*Guy 23 php mysql

在没有应用任何条件的情况下,计算表中总行数的最佳MySQL命令是什么?我是通过php做的,所以也许有一个PHP函数为我做这个?我不知道.这是我的PHP的一个例子:

<?php
$con = mysql_connect("server.com","user","pswd");
if (!$con) {
  die('Could not connect: ' . mysql_error());
}

mysql_select_db("db", $con);

$result = mysql_query("some command");
$row = mysql_fetch_array($result);

mysql_close($con);
?>
Run Code Online (Sandbox Code Playgroud)

小智 44

<?php
$con = mysql_connect("server.com","user","pswd");
if (!$con) {
  die('Could not connect: ' . mysql_error());
}

mysql_select_db("db", $con);

$result = mysql_query("select count(1) FROM table");
$row = mysql_fetch_array($result);

$total = $row[0];
echo "Total rows: " . $total;

mysql_close($con);
?>
Run Code Online (Sandbox Code Playgroud)


Jul*_*les 17

在MySQL查询中使用COUNT或执行SELECT*FROM表并执行:

$result = mysql_query("SELECT * FROM table");
$rows = mysql_num_rows($result);
echo "There are " . $rows . " rows in my table.";
Run Code Online (Sandbox Code Playgroud)

  • 您的第一部分是正确的。我将发布最后一部分以拉回整个数据集。在这个问题范围内,仅凭简单的数字就浪费了资源。 (2认同)
  • @George 我也不建议使用它。但当他问是否有任何 PHP 函数可以做到这一点时,我只是分享了这个选项。只是回答问题。 (2认同)
  • 很好,但是,在回答问题时指出类似这样的潜在问题总是很好的。它不仅可以帮助用户理解差异,还可以提高答案的合法性和注意力。这意味着为您提供更多积分!:) (2认同)

Shr*_*har 8

你只能在一行中做到如下:

$cnt = mysql_num_rows(mysql_query("SELECT COUNT(1) FROM TABLE"));
echo $cnt;
Run Code Online (Sandbox Code Playgroud)

  • 这是一个可怕的答案,将整个表格发送到计数行? (3认同)

Jon*_*ier 6

COUNTSELECT查询中使用.

$result = mysql_query('SELECT COUNT(1) FROM table');
$num_rows = mysql_result($result, 0, 0);
Run Code Online (Sandbox Code Playgroud)


小智 6

mysqli_num_rows 在 php 5 及以上版本中使用。

例如

<?php
$con=mysqli_connect("localhost","my_user","my_password","my_db");
// Check connection
if (mysqli_connect_errno())
  {
  echo "Failed to connect to MySQL: " . mysqli_connect_error();
  }

$sql="SELECT Lastname,Age FROM Persons ORDER BY Lastname";

if ($result=mysqli_query($con,$sql))
  {
  // Return the number of rows in result set
  $rowcount=mysqli_num_rows($result);
  printf("Result set has %d rows.\n",$rowcount);
  // Free result set
  mysqli_free_result($result);
  }
mysqli_close($con);
?>
Run Code Online (Sandbox Code Playgroud)