2014-11-02 77 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