Foreach循环无法正常工作(PHP)
这是我的密码Foreach循环无法正常工作(PHP),php,mysql,loops,foreach,Php,Mysql,Loops,Foreach,这是我的密码 $query = mysql_query("SELECT * FROM accommodation_vacancies WHERE accommodation_id = '$accom'"); $results = mysql_fetch_array($query); if($query === FALSE) { die(mysql_error()); } else { print_r($results); foreach ($results as $re
$query = mysql_query("SELECT * FROM accommodation_vacancies WHERE accommodation_id = '$accom'");
$results = mysql_fetch_array($query);
if($query === FALSE) {
die(mysql_error());
} else {
print_r($results);
foreach ($results as $result) {
echo $result['start_date']; echo "<br/>";
}
}
$query=mysql\u query(“选择*来自住宿\u空缺,其中住宿\u id=”$accom');
$results=mysql\u fetch\u数组($query);
如果($query==FALSE){
die(mysql_error());
}否则{
打印(结果);
foreach($results作为$result){
echo$result['start_date'];echo“
”;
}
}
这是我的输出
通过使用print\r
commant,我可以看到变量$results
工作正常,查询也工作正常,我想我在foreach循环中有错误。
谢谢。您只获取一个结果。改用while循环
while ($result = mysql_fetch_array($query)) {
旁注:如评论中所述,
mysql.*
函数已被弃用。您不应该学习如何使用这些不推荐使用的方法来使用mysql。它们将在将来的某个版本中从PHP中删除,然后您的代码将停止工作。如果您学会了,请使用mysqli.*
或PDO。请不要再维护它们,它们将被删除。相反,学习,并使用or。是的,但在另一种情况下,结果可能会大于1。不管有多少结果。按你的方式,你只能得到一个。其余的都被丢弃了。获取所有结果的常用方法是while循环。如果此答案对您有所帮助,请将其标记为左侧的有效答案,直接在“投票否决”按钮下方:)