2008-12-08 62 views
1

我有一个包含2个表的数据库。PHP的麻烦MySQL MySQL读取数组函数

其中一个表持有包含数字一排,从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没有任何例子,真正帮助...

+0

你还应该用mysql_free_result释放结果。 – 2008-12-08 20:14:33

+0

没有Allain Lalonde。 – OIS 2008-12-08 20:50:01

回答

6

我不完全相信你正试图在这里实现什么,但我想你要的是:

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

谢谢,我可以用这个工作。现在我得到一个2维数组。每个元素有2个子元素,所以我只需选择第一个元素(或者是好的,因为它们总是具有相同的值) – Vordreller 2008-12-08 20:14:25

1

默认情况下mysql_fetch_array恢复正常和关联数组,这样你就可以通过位置访问值($结果[0])或名称($结果[ 'USER_NAME'])“:

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

result_type:要获取的数组的类型为 。这是一个常量,可以使用 取下列值: MYSQL_ASSOC,MYSQL_NUM和 默认值为MYSQL_BOTH。

3

您想要在一次调用中获得所有结果。用你的方法,你必须循环保罗向你展示的结果。但使用PDO fetchAll可能会更好。如果您正在学习PHP数据库连接,请学习PDO