我一直在尝试使用此代码显示行数,但它保持说明
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
答案 0 :(得分:0)
这是事实,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_ *函数
答案 1 :(得分:0)
Count(*)
返回一行,其中包含行数作为值。
使用mysql_num_rows($result)
实际上是在计算Count(*)
结果的行数,实际上是。
将其更改为:
$result = mysql_query("SELECT * FROM smf_personal_messages", $link);
$num_rows = mysql_num_rows($result);
或者只使用Count(*)
值(这可能更好,因为它在数据库中计算而不是为它检索整个表),使用mysql_fetch_array
。