1

问题是,我有一张包含一些内容的表格。表名是departments。它有 3 列id, short_name, long_name

现在我正在做一个类,它将返回一个数组中的所有部门,但我无法完成。我曾经array_push()制作数组但无法获得足够的提示,还有其他想法吗?

代码:

$con= $this->con;
$db_name= $this->db_name;
$sql="SELECT * FROM $db_name.departments";
$result= mysql_query($sql, $con); 
$data=array(); 
while($happen= mysql_fetch_object($result)) { 
   array_push($data,array([$happen->id],[$happen->short_name],[$happen->long_name])‌​); 
}
return $data; 
4

3 回答 3

0

尝试这个:

$con= $this->con; 
$db_name= $this->db_name; 

$sql="SELECT * FROM {$db_name}.departments"; 

$result= mysql_query($sql, $con); 

$data=array(); 

while ($happen= mysql_fetch_object($result)) 
{ 
    $data[$happen->id]['id']         = $happen->id;
    $data[$happen->id]['short_name'] = $happen->short_name;
    $data[$happen->id]['long_name']  = $happen->long_name;
}

return $data;

以上基于唯一 ID(使用它作为键)将您的数据添加到数组中。

编辑 - 提供额外数据后重组响应。

于 2012-10-25T17:39:58.523 回答
0

而不是mysql_fetch_object()只使用mysql_fetch_assoc()

另外,如果可以的话,我会尽量避免使用 mysql_*,然后立即切换到使用 PDO。

于 2012-10-25T17:40:31.427 回答
0

只需使用 mysqli_fetch_assoc()。

http://www.php.net/manual/en/mysqli-result.fetch-assoc.php

它将您的结果集直接转储到您所描述的数组中。此外,不推荐使用 mysql_query 并且不应使用。您需要查看 mysqli 或 pdo 函数。

于 2012-10-25T17:43:50.283 回答