我的代码出了什么问题?
$stmt = $db->prepare("SELECT * FROM allfriend WHERE friendOf = ?");
$stmt->bind_param('s', $userId);
if($stmt->execute()){
$result = $stmt->get_result();
while ($obj = $result->fetch_object()) {
$result[] = $obj;
}
echo json_encode($result);
}
答案 0 :(得分:0)
您正尝试将变量添加到现有对象实例,就好像它是一个数组:
$result[] = $obj;
为该阵列选择其他名称
$result = $stmt->get_result();
while ($obj = $result->fetch_object()) {
$output[] = $obj;
}
echo json_encode($output);
或者,如果您不对$obj
执行任何操作:
$output = $result->fetch_all();
echo json_encode($output);
答案 1 :(得分:0)
$result = $stmt->get_result();
$ result已用于获取SQL预准备语句的结果。 您为阵列使用了相同的名称。 尝试使用名称'output []'
例如: -
$output[] = $obj;