mysql选择单列作为PHP中的单维数组

时间:2011-11-20 19:56:53

标签: php mysql sql arrays

我从mysql数据库中选择了一个列:

$savedSQL = 'SELECT can_id FROM savedsearches WHERE user_id = "'.mysql_real_escape_string($user_id).'" AND insertTime >= "'.$lastSigTime.'"';
$savedQuery = mysql_query($savedSQL);

我想将值作为单个维度返回,枚举数组使得array [0] = row1,array [1] = row2等。

当我把它放入这样的数组中时:

while($savedResult = mysql_fetch_array($savedQuery))
    {   $savedArray[] = $savedResult;   }

它将它作为多维数组返回,以便数组[0] [0] = row1,array [1] [0] = row2等。

我想添加这样的东西:

while($i=0;$i<count($savedArray);$i++)
{
 $newSavedArray[$i] = $savedArray[$i][0]
}

但有没有更简单,更有效的方法来实现这一目标?

5 个答案:

答案 0 :(得分:10)

你非常接近。您只需访问$savedResult[0]即可检索您的列,并将其附加到$savedArray

while($savedResult = mysql_fetch_array($savedQuery)) {
  $savedArray[] = $savedResult[0];
}

答案 1 :(得分:2)

while($savedResult = mysql_fetch_array($savedQuery)) {   
     $savedArray[] = $savedResult['can_id'];   
} 

答案 2 :(得分:1)

$savedArray[] = $savedResult['can_id'];

而不是

$savedArray[] = $savedResult;

答案 3 :(得分:1)

这是一个mysqli和没有循环的方法。它将您的所有代码仅限于两行。

throw

答案 4 :(得分:0)

当你最初得到mysql的结果时,你可以将两个while循环的内容合并为一个:

while($result = mysql_fetch_array($savedQuery)) {
    $savedArray[] = $result[0]; // or $result['can_id']
}