您好我正在尝试使用以下代码从我的数据库中获取数据:
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
并且我意识到它成功回显,我无法理解为什么它不能存储在数组中,为什么当我添加时它没有什么绝对没有返回甚至没有错误消息
答案 0 :(得分:0)
我通过查看数据库中的数据来解决问题,显然这些段落中有-
未被转义。
答案 1 :(得分:-1)
您正在定义数组
$page = array();
循环内部。您应该在之前创建它并添加循环项目。