【问题标题】:Foreach loop does not work correctly (PHP)Foreach 循环无法正常工作 (PHP)
【发布时间】:2015-02-13 15:54:45
【问题描述】:

这是我的代码

$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/>";
    }           
}

这是我的输出

通过使用print_r 命令,我可以看到变量$results 工作正常,查询也工作正常,我想我在foreach 循环中有错误。 谢谢。

【问题讨论】:

标签: php mysql loops foreach


【解决方案1】:

您只获取一个结果。请改用 while 循环。

while ($result = mysql_fetch_array($query)) {

旁注:如 cmets 中所述,mysql_* 函数已弃用。您不应该学习如何使用这些已弃用的方法来使用 mysql。它们将在未来的某个版本中从 PHP 中删除,然后您的代码将停止工作。如果你学会了,请使用mysqli_* 或 PDO。

【讨论】:

  • 是的,但在另一种情况下,结果可能大于一个。
  • 有多少结果并不重要。你这样做的方式,你只取一个。其余的被丢弃。获取所有结果的常用方法是 while 循环。
  • 如果此答案对您有所帮助,请在左侧投票按钮正下方将其标记为有效答案:)
猜你喜欢
  • 2019-09-20
  • 2012-08-21
  • 2013-05-16
  • 1970-01-01
  • 2016-06-05
  • 2013-10-13
  • 2019-10-09
  • 1970-01-01
  • 2019-01-01
相关资源
最近更新 更多