例如,这是我的代码:
$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的解决方案,请,我想坚持传统的编码。谢谢。
发布于 2012-06-15 21:19:29
你应该试试这个:
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)
这将允许“你”停止迭代过程。
发布于 2012-06-15 21:23:29
如果您想要比较$fetchdetails数组的每一行,那么
foreach($fetchdetails as $index => $value) {
if($value == 3) {
// do something
}
}应该这么做!如果您想遍历每个SQL值,请参阅另一个答案。
https://stackoverflow.com/questions/11051406
复制相似问题