Php 获取表中的行数

Php 获取表中的行数,php,mysql,sql,Php,Mysql,Sql,我面临一个小问题,我想计算db表中的行总数。 我尝试了以下查询,但没有成功: $nr = mysql_query("select [TotalCount]=rows from $tablename where ID=object_ID('gyuruszam')"); $nr = mysql_query("SELECT COUNT(gyuruszam) FROM $tablename"); $nr = mysql_query("SELECT gyuruszam FROM $tablename,

我面临一个小问题,我想计算db表中的行总数。 我尝试了以下查询,但没有成功:

$nr = mysql_query("select [TotalCount]=rows from $tablename where ID=object_ID('gyuruszam')");

$nr = mysql_query("SELECT COUNT(gyuruszam) FROM $tablename");

$nr = mysql_query("SELECT gyuruszam FROM $tablename, st.row_count");

请帮我解决这个问题,提前非常感谢

要获取表中的行数,请使用

另外,mysql.*mysql 5.5

试试这个

$result = mysql_query("SELECT * FROM $tablename");
echo mysql_num_rows($result);

您需要使用
AS
计数的结果提供一个名称,例如
numrows

$result = mysql_query("SELECT count(gyuruszam) as numrows from $tablename");
$data = mysql_fetch_assoc($result);
echo $data['numrows'];
使用
*
时,它包括可能的
null
值。当使用
COUNT(gyuruszam)
gyuruszam
包含null时,这些行不会被计数

mysql.*
函数不推荐使用,请使用
PDO
或至少使用
mysqli

就我个人而言,我建议不要将变量直接放入带引号的字符串中,因为在某些情况下,它可能会导致意外行为。

请尝试以下方法:

$count = mysql_num_rows(mysql_query("SELECT * FROM $tablename"));

mysql\u query(“选择COUNT(*)作为$tablename中的rowCount”)
这应该返回一个整数,该整数包含$tablename中的记录数

mysql\u query
返回结果的句柄,而不是结果本身。请参阅PHP文档。如果您不熟悉SQL查询的工作方式(不知道第一个查询应该是什么…),请不要使用mysql_*函数。它们已被弃用。请使用PDO或mysqliAlso、抓取phpMyAdmin或just,并在尝试将它们集成到PHP之前检查SQL查询这将回应1:查询的结果是一行包含一个数字。谢谢你指出我的错误。我只是直接复制粘贴。我现在编辑了count(*)版本将比将所有行提取到PHP中要高效得多,您只需要输出结果,而不是结果的大小。如果
gyuruszam
为null,则不计算
null
值row我不确定您的最后一句话是什么意思;在您的示例中,您使用了
“一些东西”$变量
;因为您使用的是双引号,所以它与
的“some stuff$variable”
@IMSoP绝对没有区别。更干净的编码方式是不将变量放入带引号的字符串中。你在这里期望什么:
$a='a'$aa=‘b’;回声“$aaa$a$aa”其脏代码样式。stackoverflow代码高亮显示也显示了这一点,我希望它查找一个名为$aaa的变量,因为在PHP中变量不限于一个字母。我承认它可能是含糊不清的,并且尊重你认为它是坏的风格,但是我不认为完全禁止使用它,没有解释,在这个答案中是特别相关或有用的。@ IMSOP我可以同意你最后的评论,并修改我的答案,让它更清楚地说它不是严格的。但是,由于表的全部内容必须从MySQL传递到PHP,因此效率极低。在数据库中使用COUNT(*)可以让MySQL在不查看表中包含的内容的情况下告诉您答案。是的,它正在工作,很抱歉误读了代码。。非常感谢你!我补充了一点查询,如下所示:
$rowcount=mysql\u num\u rows(mysql\u查询(“从$tablename中选择gyuruszam”)
$result = mysql_query("SELECT COUNT(*) as totalCount FROM $tablename");
$row = mysql_fetch_array($result);
echo $row['totalCount'];
$result = mysql_query("SELECT COUNT(*) as totalCount FROM $tablename");
$row = mysql_fetch_array($result);
echo $row['totalCount'];