Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/61.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
MySQL-计算php中的总行数_Php_Mysql - Fatal编程技术网

MySQL-计算php中的总行数

MySQL-计算php中的总行数,php,mysql,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 = my

在没有任何条件的情况下,计算表中的行总数的最佳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);
?>

在查询中使用


在MySQL查询中使用COUNT或从表中选择*并执行以下操作:

$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;
对于使用PDO的PHP5.3

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


    echo $staffcount;
?>



这是(我认为)使用php获取mysql中特殊行数的最佳方法。

使用num_行来获得具有条件的查询的正确计数

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

mysqli_num_rows
用于PHP5及以上版本

e、 g



您的第一部分是正确的。我将发出最后一部分,将整个数据集拉回。在这个问题范围内,进行简单的计算是浪费资源。@George我也不建议使用它。但当他问是否有任何PHP函数可以做到这一点时,我只是分享了这个选项。只是回答问题。这很好,但是,当你回答问题时,指出这样的潜在问题总是好的。它不仅有助于用户理解差异,还增加了您答案的合法性和获得的关注。这意味着,您可以获得更多积分!:)使用(本例中最好的IMHO)或类似函数从结果集中获取数据。当有可接受的答案时,为什么要编写此答案?这个问题是在2011年提出的……使用一个不推荐使用的库(mysql)。使用mysqli代替这是一个可怕的答案,将整个表发送到计数行?使用select count(1)from table获得计数并将其放入变量PHP5.3中如何?如果查询中有限制,则该方法不适用于true-此方法返回数组良好加法的实际计数。一个小的增强:如果您使用
$staffcount=$staff->fetchColumn()
您可以去掉
$staffrow
临时变量。这项技术已经得到了解决。为什么是“特殊行”?它们只是查询结果行。
$cnt = mysql_num_rows(mysql_query("SELECT COUNT(1) FROM TABLE"));
echo $cnt;
<?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);
?>
<?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);
?>
$result = $connect->query("select * from table where id='$iid'");
$count=$result->num_rows;
echo "$count";
<?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);
?>