比如说这是我的代码:
$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的解决方案,我想坚持传统的编码。谢谢。
答案 0 :(得分: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。 (来自manual)
这将允许“你”停止迭代过程。
答案 1 :(得分:1)
如果您想要比较$ fetchdetails数组的每一行,那么
foreach($fetchdetails as $index => $value) {
if($value == 3) {
// do something
}
}
应该这样做!如果要迭代每个SQL值,请参阅另一个答案。