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

Php 如何从数据库中检索信息并存储在多维数组中,php,mysql,arrays,Php,Mysql,Arrays,我试图做的是从数据库创建一个日历对象数组 我想要的结果是这样的: array( array( 'id' => 111, 'title' => "Event3", 'start' => "$year-$month-10", 'url' => "http://example.com/" ), array( 'id' => 222, 'title' =&

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

我想要的结果是这样的:

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\u编码它


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

您尝试过类似的方法吗?:

$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);

如果只有
json\u encode()
位失败,则可能是由于字符编码问题。
json\u encode()
函数要求所有字符串成员都是有效的UTF8字符串。从:

此函数仅适用于UTF-8编码数据


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

我看到的第一个问题是没有处理数据库的代码;)请提供有关数据库问题的更多详细信息。向我们展示您尝试过的代码,并告诉我们更多关于您的表及其数据的信息。我想我问的问题不对。我知道如何从数据库中获取数据,但我遇到的问题是生成数组中每个对象的正确语句。如果我手工编码数组中的每个对象,它们将显示在日历上。我需要做的是在数据库中循环以动态生成每个对象。每个对象都将出现在日历上。目前它们是手工编码的。同样,我需要正确的代码来动态生成每个对象。只是不确定生成这个dynamicallyWell的正确方法,您需要为数组本身提供一个临时变量。循环遍历数据库结果,将它们分别附加到数组[]=中,然后仅在最后一步使用json_encode()。这将为每个字段生成不同的数组。您需要类似于
$arr_result[]=array('field1'=>$myr['field1'],'field2'=>$myr['field2'],'field3'=>$myr['field3'])@dabito我修复了你的代码。你不能像以前那样重复执行$array[]操作。一定是错过了,谢谢=)到目前为止运气不好。这些对象未显示在日历上。同样,如果我手工编码数组中的所有对象,它们将出现。只有当我尝试运行sql语句来获取数据时,这些数据才不会显示在日历上。发生了一些事情,阻止了数据的打印,正如我在上面的手工编码脚本中所示。您是否在json编码之前打印了数组?