Php 使用mysql_fetch_数组,我可以轻松计算返回的行数。我可以对mysql\u fetch\u对象执行类似的操作吗?
(如有必要,请道歉——我的第一个堆栈溢出问题。如果有人提出建议,我很乐意修改它。我已经寻找了答案,但我恐怕我对术语的掌握还不够好,无法进行完整的搜索。) 我习惯于使用mysql\u fetch\u数组从数据库中获取记录。 当以这种方式获取记录时,mysql_num_rows会给我一个行数。 然而,在我当前的项目中,我使用的是mysql\u fetch\u对象。 mysql_num_rows似乎无法使用此函数,当我对查询结果进行“计数”时,我得到了预期的答案:1(一个对象)Php 使用mysql_fetch_数组,我可以轻松计算返回的行数。我可以对mysql\u fetch\u对象执行类似的操作吗?,php,mysql,oop,mysql-num-rows,Php,Mysql,Oop,Mysql Num Rows,(如有必要,请道歉——我的第一个堆栈溢出问题。如果有人提出建议,我很乐意修改它。我已经寻找了答案,但我恐怕我对术语的掌握还不够好,无法进行完整的搜索。) 我习惯于使用mysql\u fetch\u数组从数据库中获取记录。 当以这种方式获取记录时,mysql_num_rows会给我一个行数。 然而,在我当前的项目中,我使用的是mysql\u fetch\u对象。 mysql_num_rows似乎无法使用此函数,当我对查询结果进行“计数”时,我得到了预期的答案:1(一个对象) 是否有一种方法可以“查
是否有一种方法可以“查看”对象并计算其中的元素数?尝试
count((数组)$object)
如果您以过程式方式使用它(即mysql\u fetch\u object()与$result->fetch\u object()),mysql\u num\u行的工作方式应该与使用mysql\u fetch\u array()时完全相同。您可以发布一些示例代码吗?函数mysql\u num\u rows
作用于结果资源,而不是对象行
例子
$link=mysql\u connect(“localhost”、“mysql\u用户”、“mysql\u密码”);
mysql_select_db(“数据库”,$link);
$sql=“从myTable中选择id、名称”;
$result=mysql\u查询($sql,$link);
$rowCount=mysql\u num\u行($result);
while($row=mysql\u fetch\u object){
回显“id:”.$row->id.“名称:”.$row->name.“
”;
}
echo“总计:.$rowCount;
我希望这是有用的:)nice,但是你应该抛弃mysql_*函数,用mysqli替换它,pdo(
mysqli->num_rows
是一个属性,设置为返回的行数)这给了我一个不同的答案。它返回了我的SELECT查询中的字段数。我正在以这种方式使用它(以过程方式)。我不应该吗?不,按程序使用是可以的。你能发布你的代码片段吗?现在代码已经改变了很多,与此无关。谢谢你的提问。这很有趣(我不知道这种SELECT SQL\u CALC\u FOUND\u ROWS),但除了计算行数之外,我还想做其他事情。我认为while()
中的mysql\u fetch\u对象实际上应该是mysql\u fetch\u对象($result)
$link = mysql_connect("localhost", "mysql_user", "mysql_password");
mysql_select_db("database", $link);
$sql = "SELECT id, name FROM myTable";
$result = mysql_query($sql, $link);
$rowCount = mysql_num_rows($result);
while($row = mysql_fetch_object){
echo "id: ".$row->id." name: ".$row->name."<BR>";
}
echo "total: ".$rowCount;
<?php
mysql_connect("localhost", "user", "password");
mysql_select_db("database");
$result = mysql_query("SELECT SQL_CALC_FOUND_ROWS * FROM table");
$countQuery = mysql_query("SELECT found_rows() AS totalRows");
$rows = mysql_fetch_object($countQuery);
echo $rows->totalRows;
?>