需要两个mysql列的关联数组

时间:2011-11-09 04:59:52

标签: mysql sql arrays

我有一个mysql表

||==========||==========||==========||
||    id    ||   name   ||   age    ||
||==========||==========||==========||
||    1     ||   joe    ||   10     ||
||    2     ||   harry  ||   20     ||
||    3     ||   jane   ||   45     ||
||    4     ||   john   ||   56     ||
||    5     ||   larry  ||   89     ||
||    6     ||   henry  ||   23     ||
||    7     ||   steve  ||   25     ||
||    8     ||   eric   ||   56     ||
||    9     ||   dave   ||   98     ||
||    10    ||   mat    ||   56     ||
||==========||==========||==========||

我需要sql查询,它会从这个表中创建一个关联数组,并给我这样的值

id=>age
1=>10
4=>56

我还需要将所有id作为变量,其中值将是年龄

$1 = 10
$4 = 56

或者如果我可以为变量添加前缀

$id_1 = 10
$id_4 = 56

提前致谢

3 个答案:

答案 0 :(得分:2)

在PHP中,mysql_fetch_assoc()获取查询结果,并返回一行作为关联数组。反复调用它以获取所有行。

答案 1 :(得分:0)

如果您使用php获取数据,则可以使用函数mysql_fetch_array示例:

while($row = mysql_fetch_assoc($resource))
{
echo $row['name'].'<br>';
}

您可以在此网站上了解有关php的mysql函数的更多信息:http://www.php.net/manual/en/book.mysql.php

答案 2 :(得分:0)

$ids = '1, 4';
$sql = "select age from __TABLE__ where id in ( {$ids} )";

$link = mysql_connect('__SERVER__', '__DBUSER__', '__DB_PWD__') or die('connect error');
$db = mysql_select_db('__DBNAME__', $link) or die('db error');

$rs = mysql_query($sql, $link);

$result = array();
while($row = mysql_fetch_assoc($rs))
{
    $result[] = $row;
}
extract(my_result($result));
var_dump($id_1);
var_dump($id_4);
function my_result($result, $prefix = 'id_')
{
    $data = array();
    foreach($result as $k => $v)
    {
        $data[$prefix . $v['id']] = $v['order_no'];
    }
    return $data;
}