计算总行数

时间:2013-04-14 08:39:29

标签: php mysql

我希望用户能够看到他们上传了多少张照片。

此代码已到位:

$result = mysql_query("select count(1) from userid = '$userid' where FROM picture");
$row = mysql_fetch_array($result);

$total = $row[0];
echo "Total picture: " . $total;

但它没有显示任何内容。当我删除'userid'时,它会计算图片表中的所有行。

我尝试过但失败了。

错误:

  

警告:mysql_fetch_array()期望参数1是资源,   第14行中给出的布尔值

2 个答案:

答案 0 :(得分:1)

您可以mysql_num_rows

执行此操作
  

mysql_num_rows - 获取结果中的行数

像:

echo mysql_num_rows($result);

mysql_* API在PHP 5.5及更高版本中已弃用,因此请使用PDOmysqli

答案 1 :(得分:1)

您的SQL查询不正确,因此$result不是行集。这就是您在mysql_fetch_array()上收到错误的原因。假设*,如果您在执行该查询后立即检查了mysql_error(),这将告诉您发生的错误。

您的查询是:

select count(1) from userid = '$userid' where FROM picture

你应该有类似的东西:

SELECT count(1) AS picture_count FROM picture WHERE userid = '$userid'

然后您可以在$row['picture_count']获得总数。

*正如其他人所建议的那样,mysql_*函数已被弃用。请参阅PHP manual

  

自PHP 5.5.0起,此扩展程序已弃用,不建议使用   用于编写新代码,因为它将来会被删除。代替,   要么使用mysqli,要么使用PDO_MySQL扩展名。另见   MySQL API概述在选择MySQL API时提供进一步的帮助。

mySql Improved (mysqli_*)函数最容易实现。