基本上这是我的代码:
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_res
是array_diff
的结果数组。它只有我的时隙中的SL_ID数值。我想显示SL_TIME,但我得到的结果是$q3
生成空结果。为什么这不起作用?
答案 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)之类的抽象,那将会更好。这将最大限度地提高性能并提高安全性。