PHP - 在多维数组中存储mysql_fetch_assoc

Ash*_*Ash 6 php mysql

我是PHP的新手,所以我不确定它是如何工作的.

无论如何,我会将多维数组返回到另一个方法,本质上是存储少量记录和列,类似于结构的表.

我写了以下内容,没有任何警告但也没有数据

public function GetData($sqlquery)
{
    include 'config.php';

    $result = mysql_query($sqlquery,$con);
    $data = array();

    while($row = mysql_fetch_assoc($result))
    {
        $data[] = $row;
    }

    return $data;
}
Run Code Online (Sandbox Code Playgroud)

最有可能做一些愚蠢的事情

帮助赞赏.

编辑:

感谢所有快速回复

我弄清楚为什么这不起作用,我正在解决这个问题

print $data[0][0];
Run Code Online (Sandbox Code Playgroud)

而不是

print $data[0]['title']; 
Run Code Online (Sandbox Code Playgroud)

例如,谢谢所有:)

PS我真的觉得很难相信你不能说$ data [0] [5],IMO比为位置指定一个字符串值更合乎逻辑

You*_*nse 5

你的代码看起来没问题。至少,你正朝着正确的方向前进。

只是一些小的更正:

  • 切勿在函数内包含配置。它应该在类构造函数中完成
  • 如果您确实想使用连接标识符 - 将其设为类变量。但对于大多数使用单连接到数据库的应用程序来说,没有必要使用 $con,所以你可以省略它
  • 错误处理是绝对必要的

所以,

public function GetData($sqlquery)
{
    $data = array();
    $result = mysql_query($sqlquery) or trigger_error(mysql_error().$sqlquery);
    if ($result)
    {
        while($row = mysql_fetch_assoc($result))
        {
            $data[] = $row;
        }
    }
    return $data;
}
Run Code Online (Sandbox Code Playgroud)

运行这段代码,看看它说了什么。