当一些变量插入数组

时间:2017-09-22 08:23:19

标签: php mysqli

您好我正在尝试使用以下代码从我的数据库中获取数据:

public function getAllConstitutionPages($id){
    $result =  $this->conn->prepare("SELECT para.id, para.pageFk, 
                                            para.title, para.subtitle, para.paragraph 
                                    FROM `constitutionpage_tb` page 
                                        JOIN constitutionpageparagraph_tb para ON para.pageFk = page.id 
                                    WHERE page.constitutionFk IN (?)");
    $result->bind_param("s", $id);
    $result->execute();
    $response["pages"] = array();
    $result->bind_result($id, $pageFk, $title, $subTitle, $paragraph);
    while($row = $result->fetch()) 
    {
        $page = array();
        $page["id"] = $id;
        $page["pageFk"] = $pageFk; 
        $page["title"] = $title;
        $page["subTitle"] = $subTitle;  
        $page["paragraph"] = $paragraph; 
         echo.$paragraph;//prints out the paragraph in the browser
        $response["pages"][] =  $page;

    }

    return $response;
} 

查询选择5个我成功绑定的列,而bind_result问题带有while循环,由于某些未知原因,当我添加$page["paragraph"] = $paragraph;时,查询不会返回任何甚至不是空的pages数组,我删除它的那一刻,我得到了我的所有数据,查询没有任何问题,因为我已经在phpmyadmin中测试了它并且它返回包括段落在内的所有5列,我最后一次遇到这样的问题是因为我有2个bind_result中的变量与page数组同名,因此它本身就消耗了,但在这种情况下我没有,有人帮助我发现我的错误

更新

在与代码搏斗之后,我尝试从循环中回显paragraph并且我意识到它成功回显,我无法理解为什么它不能存储在数组中,为什么当我添加时它没有什么绝对没有返回甚至没有错误消息

2 个答案:

答案 0 :(得分:0)

我通过查看数据库中的数据来解决问题,显然这些段落中有-未被转义。

答案 1 :(得分:-1)

您正在定义数组

$page = array(); 

循环内部。您应该在之前创建它并添加循环项目。