我一直在尝试使用这段代码显示行数,但它说
1行错误
<?php
$link = mysql_connect("localhost", "gamin1_forum", "password123");
mysql_select_db("gamin1_forumdb", $link);
$result = mysql_query("SELECT COUNT(*) FROM smf_personal_messages", $link);
$num_rows = mysql_num_rows($result);
echo "$num_rows Rows";
?>行数约为1443行,但仍为1行
发布于 2015-09-19 16:44:48
这是真的,mysql_num_rows()告诉我们返回了一个“行”。您需要检查返回行的值以获取计数。尝尝这个
$link = mysql_connect("localhost", "gamin1_forum", "password123");
$result = mysql_query("SELECT COUNT(*) as cnt FROM smf_personal_messages", $link);
$row = mysql_fetch_array($result);
echo ($row['cnt']);另外,出于安全原因,您不应该使用mysql_*函数。尝试PDO/mysqli_*函数
发布于 2015-09-19 16:48:16
Count(*)返回一行,其中包含行数作为一个值。
通过使用mysql_num_rows($result),您实际上是在计算Count(*)结果的行数,它实际上是一个。
将其更改为:
$result = mysql_query("SELECT * FROM smf_personal_messages", $link);
$num_rows = mysql_num_rows($result);或者只使用mysql_fetch_array的Count(*)值(这可能更好,因为它在DB中计数,而不是检索整个表)。
https://stackoverflow.com/questions/32666137
复制相似问题