0

例如,这是我的代码:

$query = "SELECT * FROM ...";
$exec_query = mysql_query($query, $db_connect);
$fetchdetails = mysql_fetch_array($exec_query);

我正在使用这样的if条件:

if ($fetchdetails['field_name'] == 3) {
 do something;
}

else {
}

但在此,仅比较fetchdetails数组中的 1 行。我该怎么做才能将该数组中的每一行与 3 进行比较?我不想要任何 OOP 的解决方案,我想坚持使用传统编码。谢谢你。

4

2 回答 2

4

你应该试试这个:

while($fetchdetails = mysql_fetch_array($exec_query)) {
 if ($fetchdetails['field_name'] == 3) {
  do something;
 }

 else {
 }

}

那是因为,在while(...)条件下,您将遍历所有 db(选定)记录。一旦mysql_fetch_array完成记录,循环将自动停止。

我会记得你mysql_fetch_array

返回与获取的行相对应的字符串数组,如果没有更多行,则返回 FALSE。(来自手册

这将允许“你”停止迭代过程。

于 2012-06-15T13:19:28.650 回答
1

如果您的意思是要比较 $fetchdetails 数组的每一行,那么

foreach($fetchdetails as $index => $value) {
    if($value == 3) { 
        // do something
    }
}

应该这样做!如果要遍历每个 SQL 值,请参阅其他答案。

于 2012-06-15T13:23:29.400 回答