我有一个代码,它应该检查结果是否等于8
它需要显示一些东西,如果不是,它需要显示一些else
东西,所有这些都发生在while
循环中。
while ($row_fpages2 = mysql_fetch_array($result_fanpage2))
{
if ( $row_fpages2['client'] != NULL ) {
//GRAPHS
$sql = "SELECT likes, date FROM statistics_pages WHERE idnum = '".$idnum."' AND page_name = '".$row_fpages2['page_name']."' ORDER BY `statistics_pages`.`date` DESC LIMIT 8";
$result2 = mysql_query($sql) or die(mysql_error());
if ($result2) {
$data = array();
while ($row = mysql_fetch_assoc($result2)) {
$data[] = $row["likes"];
}
if ($result2 == 8) {
$c_data = count($data)-1;
$final = array();
for ($i = 0; $i < $c_data; $i++) {
$final[] = getZeroResult($data[$i], $data[$i+1]);
}
$data_string = join(",", $final);
$stats = '<img src="http://chart.apis.google.com/chart?chs=240x140&cht=ls&chd=t:0,0|'.$data_string.'&chg=20,20&chls=0.75,-1,-1|6,4,1&chm=o,FF9900,1,-1,7,-1|b,3399CC44,0,1,0"></img>';
} else {
$stats = '<img src="images/stats_un.jpg"></img>';
};
} else {
print('MySQL query failed with error: ' . mysql_error());
}
echo '...';
问题是第一个输出总是显示
( == 8)
(即使它不等于8),而不是else
输出。然后,如果我有两个或更多,所有的东西都在第一个上面,但第一个仍然显示
( == 8)
。有什么帮助吗?
最佳答案
您执行的以下操作不正确:
$result2 = mysql_query($sql) or die(mysql_error());
...
if ($result2 == 8) {
mysql_query
的返回值是一个资源,而不是一个int。您要在那里做什么?