如何从数据库中检索信息并存储在多维数组中

时间:2010-05-28 16:17:06

标签: php mysql arrays

我要做的是从数据库创建一个日历对象数组。

我正在寻找的结果是这样的:

array(
    array(
        'id' => 111,
        'title' => "Event3",
        'start' => "$year-$month-10",
        'url' => "http://example.com/"
    ),
    array(
        'id' => 222,
        'title' => "Event2",
        'start' => "$year-$month-20",
        'end' => "$year-$month-22",
        'url' => "http://example.com/"
    )

我需要正确的代码,它将从每个数据库记录生成一个子数组。生成数组后,我将json_encode它。

请注意,变量$year$month将从我的代码的其他部分提供。

2 个答案:

答案 0 :(得分:1)

你尝试过这样的事吗?:

$mysqli = new mysqli ( 'Host', 'User', 'Pass', 'dB');

$myq = $mysqli ->query ( 'SELECT field1, field2, field3 FROM table' );

$arr_result = array();

while ( $myr = $myq->fetch_assoc () ) {
    $array = array(
      'field1' => $myr['field1'],
      'field2' => $myr['field2'],
      'field3' => $myr['field3'],
    );
    $arr_result[] = $array;
}

echo json_encode($arr_result);

答案 1 :(得分:0)

如果只有json_encode()位失败,可能是由于字符编码问题。 json_encode()函数要求所有字符串成员都是有效的 UTF8 字符串。来自json_encode() documentation

  

此功能仅适用于UTF-8编码数据。

如果您的相关数据库对象不是UTF8,您将看到函数调用失败。