我是php和SQL的新手,我正在努力使php页面列出表中的结合体数。我正在使用此代码,但它返回Resource id #2:
$rt=mysql_query("SELECT COUNT(*) FROM persons");
echo mysql_error();
echo "<h1>Number:</h1>".$rt;发布于 2011-01-25 14:58:04
因为您在执行mysql_query()时会得到mysql重新源。
使用类似于mysql_fetch_assoc()的东西来获得下一行。它返回一个列名为索引的数组。在您的例子中,可能是COUNT(*)。
下面是一个修补程序,以及对您的代码片段的一些小改进:
$rt = mysql_query("SELECT COUNT(*) FROM persons") or die(mysql_error());
$row = mysql_fetch_row($rt);
if($row)
echo "<h1>Number:</h1>" . $row[0];如果需要获取结果集的所有行,请使用以下代码片段:
while($row = mysql_fetch_assoc($rt)) {
var_dump($row);
}发布于 2011-01-25 15:05:59
试试这个:
$rt=mysql_query("SELECT COUNT(*) FROM persons");
echo mysql_error();
$count = mysql_result($rt, 0, 0);
echo $count;发布于 2011-01-25 15:06:54
在PHP中,资源是从某些函数返回的,这样就可以将它们传递给其他相关函数。示例包括数据库连接、数据库查询结果、文件句柄等.
根据mysql_query()上的文档,SELECT查询返回一个资源。您可以使用该资源并将其传递给许多不同的函数。要检索行数,可以使用mysql_num_rows(),要检索查询结果,可以使用mysql_fetch_array()、mysql_fetch_assoc()或mysql_fetch_object()。
处理数据库结果的正常模式如下所示:
$result = mysql_query("SELECT * FROM persons"); // run query against database
$count = mysql_num_rows($result); // retrieve a count of the rows in the previous query
while ($row = mysql_fetch_assoc($result)) { // loop through all the rows in the resultset
// use $row['column_name'] to access columns in your resultset
}从上面的例子来看:
$result = mysql_query("SELECT COUNT(*) AS num FROM persons"); // run query against db
$row = mysql_fetch_assoc($result); // retrieve the 1 (and only) row
$count = $row['num']; // we needed to alias the COUNT(*) column as `num`https://stackoverflow.com/questions/4794927
复制相似问题