几个警告[预期参数]

时间:2015-09-19 08:41:52

标签: mysql

我一直在尝试使用此代码显示行数,但它保持说明

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

2 个答案:

答案 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