Php 获取表中的行数
我面临一个小问题,我想计算db表中的行总数。 我尝试了以下查询,但没有成功: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,
$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'];