繁体   English   中英

MySQL - 计算 php 中的总行数

[英]MySQL - count total number of rows in php

什么是最好的 MySQL 命令来计算表中的总行数而不应用任何条件? 我通过 php 这样做,所以也许有一个 php function 是为我做的? 我不知道。 这是我的 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);
?>
<?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);
?>

在您的 MySQL 查询中使用 COUNT 或执行 SELECT * FROM 表并执行以下操作:

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

您只能在一行中执行此操作,如下所示:

$cnt = mysql_num_rows(mysql_query("SELECT COUNT(1) FROM TABLE"));
echo $cnt;

SELECT查询中使用COUNT

$result = mysql_query('SELECT COUNT(1) FROM table');
$num_rows = mysql_result($result, 0, 0);

对于 PHP 5.3 使用 PDO

<?php
    $staff=$dbh->prepare("SELECT count(*) FROM staff_login");
    $staff->execute();
    $staffrow = $staff->fetch(PDO::FETCH_NUM);
    $staffcount = $staffrow[0];


    echo $staffcount;
?>
<?php
$conn=mysqli_connect("127.0.0.1:3306","root","","admin");
// Check connection
if (mysqli_connect_errno())
{
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}
$sql="select count('user_id') from login_user";
$result=mysqli_query($conn,$sql);
$row=mysqli_fetch_array($result);
echo "$row[0]";
mysqli_close($conn);
?>

仍然有问题访问我的教程http://www.studentstutorial.com/php/php-count-rows.php

<?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);
  echo "number of rows: ",$rowcount;
  // Free result set
  mysqli_free_result($result);
  }

mysqli_close($con);
?>

最好的方法(我认为)用 php 获得 mysql 中的特殊行数。

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);
?>

使用 num_rows 获取有条件的查询的正确计数

$result = $connect->query("select * from table where id='$iid'");
$count=$result->num_rows;
echo "$count";
$sql = "select count(column_name) as count from table";

好吧,我使用以下方法来做同样的事情:我必须计算许多表的数量,以便在仪表板上列出服务、项目等的数量。 我希望它有所帮助。

PHP 代码

// create a function 'cnt' which accepts '$tableName' as the parameter.

 function cnt($tableName){
        global $conection;
        $itemCount = mysqli_num_rows(mysqli_query($conection, "SELECT * FROM `$tableName`"));
        echo'<h6>'.$itemCount.'</h6>';
    }

然后当我需要获取表中的项目数时,我调用 function,如下所示

<?php
  cnt($tableName = 'projects');
?>

在我的 HTML 前端,它呈现计数

  • 需要注意的是,我将cnt() function 作为全局 function 创建在一个包含在我头脑中的单独文件中,因此我可以从代码中的任何位置调用它。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM