我想用PHP腳本檢索存儲在mySQL表中的數據。我希望這些數據以數組形式返回,因爲我在AngularJS應用程序中循環遍歷它,並進行各種轉換等。我將數據從數據中提取出來,但它僅作爲數組中的一個項返回,即每行都是不作爲數組的單獨項返回。因爲它代表我的代碼是:mySQL沒有返回一個數組到angularJS
PHP Get請求
<?php
require 'config.php';
$pdo = Database::connect();
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$sql = 'SELECT * FROM user_details';
$stmt = $pdo->prepare($sql);
$stmt->execute();
$result = $stmt->fetchAll(PDO::FETCH_ASSOC);
$json = json_encode($result);
echo $json;
Database::disconnect();
?>
角控制器
$scope.userprofiles = [];
$http.get('php/getUserDetails.php')
.success(function(data) {
$scope.userprofiles = data;
});
我也運行一些測試,看看是什麼問題。具體來說,我看是否變量是一個數組:
$scope.varcheck = $scope.userprofiles.constructor === Array;
這將返回true。然後我檢查數組的長度:
$scope.numRecords = $scope.userprofiles.length;
這回0
如果任何人有任何的想法這將是一個很大的幫助。
我也有一個問題,如果一個「/」或「」「存儲在數據庫中,它會引發get請求。我認爲它提前退出。如果有人知道這件事,它會很棒!
感謝,
傑克
你可以使用'typeof'來獲取數據類型。 – Vineet
嗨維尼。當我嘗試typeof時,它返回的是數據是一個對象,而不是數組。看來PHP中的json_encode將數組轉換爲對象而不是數組。你知道如何將它作爲一個對象數組而不是僅僅一個對象出現嗎? –
嗨。所以我發現問題是什麼。我試圖訪問.then函數之外的$ scope.userprofiles。所以我可以把所有的代碼放在.then函數中。但這似乎是一個相當不雅的解決方案。你知道是否有另一個? –