我正在尝试使用纤薄的php框架作为角度前端的宁静后端。 我在从sql数据库中获取所有记录时遇到问题。 我在我的控制器中使用以下代码:
function refreshlistings() {
Data.get('getAllListings').then(function(results) {
$scope.lists = results;
var tempdata;
for (var i = 0; i < $scope.lists.length; i++) {
$scope.lists[i].data = decrypt($scope.lists[i].data);
}
if (!$scope.lists) {
$scope.lists = [];
}
});
}
在我的工厂:
obj.get = function(q) {
return $http.get(serviceBase + q).then(function(results) {
return results.data;
});
};
我的瘦身API看起来像这样:
$app->get('/getAllListings', function(){
$db = new DbHandler();
$listings = array();
$listings = $db->getAllRecords("select * from LISTINGTABLE");
echoResponse(200, $listings);
});
在我的DbHandler类中:
public function getAllRecords($query) {
$r = $this->conn->query($query) or die($this->conn->error.__LINE__);
return $result = $r->fetch_assoc();
}
我只从我的SQL中找回一条记录。
我试过了:
public function getAllRecords($query) {
$r = $this->conn->query($query) or die($this->conn->error.__LINE__);
while ( $row = $r->fetch_array(MYSQLI_ASSOC) ) {
$data[] = $row;
}
return $data[];
}
在我的DbHandler类中,但这给了我一个错误。 谁能帮我吗? THX!
答案 0 :(得分:0)
您只需要一行。如果您使用PDO,您可以这样做:
$q = $db->query("SELECT ... ");
$results = $q->fetchAll();
如果使用mysqli,则必须遍历结果集并将行分配给数组。
另外,我在你的代码中看到你返回$ data []。你应该返回$ data。