从SQL查询创建一个数组

时间:2012-08-07 13:45:21

标签: php mysql sql

我正在尝试访问我的数据库,根据两个变量从一堆列中获取信息,并将所有这些列的所有值都返回到php列表(或数组)中,例如,最后一个结果将类似于$output = array($foo,$bar,$hello);

这是我现在连接到数据库和我的查询的代码,我知道我在这里缺少重要的代码,希望有人可以帮助我,谢谢。

<? php

$var1 = 20.0;
$var2 = 15.0;

function getFromDB($var1, $var2){

mysql_connect("localhost", "test", "test") or die (mysql_error());
mysql_select_db("test") or die(mysql_error());
$queryString = "SELECT * from table1 WHERE foo=".$var1."AND bar=".$var2;
$go = mysql_query($queryString);
while($row = mysql_fetch_array($go)){
echo $row['col1']; 
echo $row['col2'];
echo $row['col3'];

}
}

getFromDB($var1,$var2);
?>

我们的想法是在数组中包含col1,2和3的值。谢谢! 萨姆

4 个答案:

答案 0 :(得分:1)

其中任何一个都可以使用:

while($row = mysql_fetch_array($go)){
  $output[] = array($row['col1'], $row['col1'], $row['col1']);
}

或:

while($row = mysql_fetch_array($go)){
  $output[] = $row;
}

你应该使用的那个取决于$ row-data的样子。

答案 1 :(得分:0)

$data = array ();
while ( $row = ...)
{
    // appends the contents of $row to a new value in $data
    $data[] = $row;
}

print_r ($data); // <-- to see the output

答案 2 :(得分:0)

$array = array();
while ($row = mysql_fetch_array($go)) {
    $array[] = array($row['col1'], $row['col2'], $row['col3']);
}

请注意,您应该停止使用mysql_*个功能。他们被弃用了。而是使用PDO(从PHP 5.1开始支持)或mysqli(从PHP 4.1开始支持)。如果您不确定使用哪一个,read this SO article

答案 3 :(得分:0)

替换

echo $row['col1'];
echo $row['col2'];
echo $row['col3'];

$array = $row;

并返回$array