-1
我有以下代码调用一个DB函数,它从表中检索所有行,然后在JSON中回显它们。PHP Sql,返回一行
$key = $db->getKeyPermissions();
if ($key != false) {
// use is found
$response["error"] = FALSE;
$response["key"]["endpoint_name"] = $key["endpoint_name"];
$response["key"]["live"] = $key["live"];
$response["key"]["activity_name"] = $key["activity_name"];
echo json_encode($response);
} else {
这是DB函数
public function getKeyPermissions()
{
$stmt = $this->conn->prepare("SELECT * FROM key_permissions WHERE 1");
if ($stmt->execute()) {
$key = $stmt->get_result()->fetch_assoc();
$stmt->close();
return $key;
} else {
return NULL;
}
}
这一切工作,但它仅返回第一行,然后停止罚款。阅读你必须循环fetch_assoc()
,但我无法得到这个工作。我希望将所有行都推入$key
并返回,但所有尝试都会导致数组转换和非对象错误。一路上有人能帮助我吗?
编辑:
public function getKeyPermissions()
{
$stmt = $this->conn->prepare("SELECT * FROM key_permissions WHERE 1");
if ($stmt->execute()) {
$key = array();
while($row = $stmt->get_result()->fetch_assoc()) { //Call to a member function fetch_assoc() on a non-object
$key .= $row; // Array to string conversion
}
$stmt->close();
return $key;
} else {
return NULL;
}
}
'而($键= $ stmt-> get_result( ) - > fetch_assoc()){...}'? ......就在我头顶 - 尽管没有错误陷阱。 – CD001
@ CD001之前尝试过,但是我返回了一个非对象的数组转换错误和fetch_assoc错误。我用我的新代码编辑我的文章,并在返回错误的行后面添加注释。 –
'在非对象上调用成员函数fetch_assoc(),在这种情况下'get_result()'返回false。 – CD001