Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/72.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
Php 计算行数_Php_Mysql_Mysqli - Fatal编程技术网

Php 计算行数

Php 计算行数,php,mysql,mysqli,Php,Mysql,Mysqli,我有下面的代码,用于回显意外的列数,我希望它能够计数行,因为我已经更改了它,它没有回显任何内容。有什么想法吗?顺便说一下,我已经连接到数据库,即使它没有显示 <p> <?php $result = mysqli_query("SELECT * FROM User_info"); $num_rows = mysqli_num_rows($result); echo $num_rows[0]; mysqli_close($con); ?> records in our d

我有下面的代码,用于回显意外的列数,我希望它能够计数行,因为我已经更改了它,它没有回显任何内容。有什么想法吗?顺便说一下,我已经连接到数据库,即使它没有显示

<p>
<?php
$result = mysqli_query("SELECT * FROM User_info");
$num_rows = mysqli_num_rows($result);
echo $num_rows[0];

mysqli_close($con);
?>
 records in our database start your search <a href="#">here</a> today. 
</p>

把那一行改成

echo $num_rows;
以下是计算行数的唯一正确方法:
mysqli_num_rows将其结果作为整数或字符串返回,如果该值对于整数来说太大,而不是作为数组返回,因此您需要从以下位置更改代码:

echo $num_rows[0];


一般来说,您应该尽量减少DB服务器和应用程序服务器之间的通信量

对于您的具体情况,这意味着建议的计数方式是:

<?php
$result = mysqli_query("SELECT count(*) FROM User_info");
$row = mysqli_fetch_row($result);
$num = $row[0];
?>
通过该请求选择COUNT*..,DB服务器将为您计算行数。只需返回总数——可能使用索引或内部数据结构直接返回结果。使用SELECT*,服务器必须检索并发送表中的所有数据。非常昂贵而且效率很低,因为在应用程序中不使用所有这些数据

编辑-如果你想要一个简单的解释:知道一本书的页数最有效的方法是什么?一个一个地数一数,还是看页脚上的页码


使用PHP计算初始解决方案,就像制作一本书的复印件,然后计算副本中的页数。使用COUNT*可以让DB服务器使用页码,甚至是书籍目录的索引来查找结果。

使用Ike just echo$num_rows;如果没有[0],我会同意波拉的观点。。删除[0]使其生效。我同意,但也许你可以解释为什么这样更好。为什么不使用mysqli_num_rows?@Bora当你想知道你银行账户上的金额时,你是否要求所有的钱都是现金,用手清点,然后返回银行?或者你可能会让银行帮你数一数?哪一个更容易执行?仍然不是它应该是实现结果的唯一方法的原因。取决于你以后想对结果做什么。。。如果希望根据行数处理结果,则计数需要两个db调用,而mysqli_num_行只需要一个。
echo $num_rows;
<?php
$result = mysqli_query("SELECT count(*) FROM User_info");
$row = mysqli_fetch_row($result);
$num = $row[0];
?>