我希望用户能够看到他们上传了多少张照片。
此代码已到位:
$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行中给出的布尔值
答案 0 :(得分:1)
您可以mysql_num_rows
:
mysql_num_rows
- 获取结果中的行数
像:
echo mysql_num_rows($result);
mysql_*
API在PHP 5.5及更高版本中已弃用,因此请使用PDO
或mysqli
。
答案 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_*)函数最容易实现。