在foreach循环PHP中使用fetch数组

时间:2012-10-07 15:43:03

标签: php arrays loops foreach

基本上这是我的代码:

echo "<SELECT>";
foreach($arr_res as $op) {
   $q3 = mysql_query(mysql_fetch_array("SELECT SL_TIME FROM SLOTS WHERE SL_ID='$op'"));
   echo "<OPTION value=".$op.">".$q3."</OPTION>";
}
echo "</SELECT>";

$arr_resarray_diff的结果数组。它只有我的时隙中的SL_ID数值。我想显示SL_TIME,但我得到的结果是$q3生成空结果。为什么这不起作用?

1 个答案:

答案 0 :(得分:1)

您不查询mysql_fetch_array。 Mysql_query给出了一个使用mysql_fetch_array的结果。所以正确的代码是:

echo "<SELECT>";
foreach($arr_res as $op){
$result = mysql_query("SELECT SL_TIME FROM SLOTS WHERE SL_ID='$op'");
$q3=mysql_fetch_array($result);
echo "<OPTION value=".$op.">".$q3."</OPTION>";
}
echo "</SELECT>";

然而,$ q3将是一个数组,这可能不是你想要的。另外,如果使用PDO(http://www.php.net/manual/en/class.pdo.php)之类的抽象,那将会更好。这将最大限度地提高性能并提高安全性。