尝试搜索数据库中的列,并提取男性总数和女性总数。
此数据作为f和m存储在db中的whatsex列中。
$query = "SELECT whatsex, COUNT(*) FROM soberdata GROUP BY whatsex";
$result = mysqli_query($connection,$query) or die(mysql_error());
$sexdb = mysqli_fetch_array($result);
$totalmale = $sexdb['m'];
$totalfemale = $sexdb['f'];
echo $totalfemale." & ".$totalmale;
此代码不输出任何内容。我做错了什么?
答案 0 :(得分:0)
您的查询将返回whatsex
值和COUNT(*)
值,而不是m
或f
。执行var_dump($sexdb)
会显示数组中的内容。
答案 1 :(得分:0)
$ sexdb只有“whatsex”和“COUNT(*)”列。你应该使用其中一个
试
print_r($sexdb);
并查看某些结果是否符合您的需求
答案 2 :(得分:0)
您将多维数组视为平面。你可以这样做来展平它
$query = "SELECT whatsex, COUNT(*) as total FROM soberdata GROUP BY whatsex";
while ($row = mysqli_fetch_array($result)) {
$$row['whatsex'] = $row['total']; // this makes a variable ($m or $f) using the value of the row
}
$totalmale = !empty($m) ? $m : 0;
$totalfemale = !empty($f) ? $f : 0;
如果没有男性或女性参赛作品,您应该清空数据库的结果以避免错误。