考虑下面的代码的mysql_query返回错误的结果
if (isset($_SESSION['FBID']) ) {
$uid = $_SESSION['FBID'];
$sql = "SELECT *, count(member_nr) AS notifyMe
FROM poolWinners
WHERE member_nr = '$uid' AND notification ='1'";
$result = mysql_query($sql);
while($row=mysql_fetch_array($result)){
$notification = $row['notifyMe'];
}//while
if ($notification > 0) {
echo '<span class="badge">' . $notification . '</span>';
} //if
var_dump($notification);
} //isset($_SESSION['FBID'])
以上脚本返回成员有多少条信息有,你可以在图像下方
我的问题
的看脚本返回错误的结果(错误的通知数量)。看看下面的表格,会员号码在表格中出现3次如此: $notification = $row['notifyMe']
应= 3而不是1
我在这里丢失或做错了什么?感谢您阅读
总结的通知列中的值?因为他们看起来每个都是1,就像这样'select sumNot from poolWinners where member_nr ='$ uid'AND notification = 1;'不需要遍历结果,直接得到总和 –
或者执行select count(member_nr) from poolWinners where member_nr ='$ uid'and notification = 1;'并且使用计数而不是总和,以避免大于1的通知值。再次直接取满值,不需要循环结果集 –