麻烦PHP MySQL获取数组函数

时间:2008-12-08 19:41:00

标签: php mysql

我有一个包含2个表的数据库。

其中一个表格包含一个包含数字的行,从0到10。

在PHP中,我这样做:

$query = "SELECT ".$param." FROM issues WHERE ".$param." >=0";
$result = @mysql_query($query) or showError("query failed");
if (!($record = mysql_fetch_array($result))) return null;
return $record;

$ param保存行的名称。

我希望得到一个数字0到10的数组,但我得到一个包含2个元素的数组:

array(
    [0] = 0
    [row_name] = 0
    .
    .
    . // AND SO ON
)

就是这样。

我之前从未使用过这些函数,www.php.net没有任何真正有用的例子......

3 个答案:

答案 0 :(得分:6)

我不确定你想在这里实现什么,但我认为你想要的是:

// query...
$records = array();
while($r = mysql_fetch_array($result)) {
    $records[] = $r;
}
return $records;

答案 1 :(得分:3)

您希望在一次通话中获得所有结果。使用您的方法,您必须像Paolo所示的那样循环结果。但是将PDO与fetchAll一起使用可能会更好。如果您正在学习PHP数据库连接,请了解PDO

答案 2 :(得分:1)

默认情况下mysql_fetch_array返回普通和关联数组,因此您可以按位置($ result [0])或按名称($ result ['user_name'])'访问值:

array mysql_fetch_array  ( resource $result  [, int $result_type  ] )
  

result_type:数组的类型   被拿走了。这是一个常数,可以   采用以下值:   MYSQL_ASSOC,MYSQL_NUM和   MYSQL_BOTH的默认值。