2014-11-02 75 views
0

我想使用slim php框架作为一个角度前端的宁静后端。 我有问题从我的sql数据库中提取所有记录。 我使用下面的代码在我的控制器:只获取一个记录在mysql数据调用(角度slimphp)

在我厂
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类,但是这给了我一个错误。 任何人都可以帮我吗?谢谢!

回答

0

您只需要一行。如果您使用的PDO,你可以这样做:

$q = $db->query("SELECT ... "); $results = $q->fetchAll();

如果你使用的mysqli,则必须遍历结果集并分配行的数组。

此外,我在您的代码中看到您返回$ data []。你应该返回$数据。

+0

很酷,是的,使用$ data解决了它!谢谢! – 2014-11-02 14:22:44