mySQL循环,将值放入数组中

时间:2012-01-10 20:44:19

标签: php mysql

我有以下功能。

 return $this->_blockPhoto ( $selected_screenshots, $this->aDataEntry['author_id']); 

它要求变量$selected_screenshots是一个值数组。

问题是我必须从mySQL外观中获取值,如下所示。

如果只有一个值,一切正常。但是当DB中有更多值时,我无法将所有这些值放入变量数组中。

事实上,由于return $this->_blockPhoto ( $selected_screenshots, $this->aDataEntry['author_id']);在mySQL循环之外,它只获得循环的第一个值。

那么如何将mySQL循环中的所有值存储到变量中呢?而且不仅仅是第一个价值?

我尝试手动将数组分配给循环$selected_screenshots = array($qryrow1['media_id']);中的变量,但它不起作用,我觉得它没有任何意义:)

    $qry1="SELECT * FROM modzzz_articles_screenshots WHERE media_id='".$selected_screenshots_ID."' AND entry_id='".$this->aDataEntry['id']."'";
            $qryr1=mysql_query($qry1) or die("Error selecting: ".mysql_error());
                while($qryrow1 = mysql_fetch_array($qryr1)) {
                $selected_screenshots = array($qryrow1['media_id']);

} // END OF THE LOOK

          return $this->_blockPhoto ( $selected_screenshots, $this->aDataEntry['author_id']); 

任何人都可以通过代码向我提供解决方案吗?我真的很困惑。

由于

2 个答案:

答案 0 :(得分:1)

您的代码每次都会使用新数组覆盖$selected_screenshots。相反,你想要追加它:

$selected_screenshots = array();
while ($qryrow1 = mysql_fetch_array($qryr1)) {
    $selected_screenshots[] = $qryrow1['media_id'];
}

答案 1 :(得分:0)

您可以通过循环搜索结果并将其附加到$selected_screenshots的末尾来保存所有mysql值,请执行以下操作。现在你只是分配$selected_screenshots一个值并忽略其他值,所以$selected_screenshots具有mysql返回的最后一个值。

标题为“使用方括号语法创建/修改”

标题下的http://php.net/manual/en/language.types.array.php