[英]PHP Array not being delivered
我在名為“ gcmregid”的數據庫列中有一些數據。 我通過調用以下方式訪問此數據:
public function getAllUsers() {
$r = mysql_query("select * FROM table");
while ($row = mysql_fetch_array($r)) {
$result = array(
'gcmregid' => $row["gcmregid"]
);
}
return $result;
}
如果我錯了,請糾正我,但是由於result = array,這應該提供一個數組? 我從這里獲取了此邏輯: 在MySql中獲取資源ID#3錯誤
然后,我使用循環進行添加將很有幫助,例如:
$userCount = $db->getUserCount(); // counting said table
$registation_ids = array(); // again create array
for($i=0; $i < $userCount; $i++)
{
$gcmRegId = $db->getGCMRegID($selUsers[$i]);
$row = mysql_fetch_assoc($gcmRegId);
//Add RegIds retrieved from DB to $registration_ids
array_push($registation_ids, $row['gcmregid']); // this creates an array consisting of gcmregid s ?
}
它也不起作用。 任何輸入現在都將不勝感激...謝謝
我不確定出什么問題了,但是如果問題在於它返回的是單個項目:那是因為您每次迭代都會創建一個新數組,而丟棄舊數組。 如果要收集所有行,請在循環外創建一個新數組,然后將結果添加到其中:
public function getAllUsers() {
$r = mysql_query("select * FROM table");
$result = array();
while ($row = mysql_fetch_array($r)) {
$result[] = array (
'gcmregid' => $row["gcmregid"]
);
}
return $result;
}
您應該考慮在如何命名函數方面做更多的工作。 如果您嘗試獲取gcmregid
,則該方法不應顯示getAllUsers
。 無論如何,您是否嘗試過以下方法:
public function get_gcmregid() {
$query_result = mysql_query("select * FROM table");
$row = mysql_fetch_array($query_result);
return $result[0]['gcmregid'];
}
或者,如果您想一次獲得所有的gcmregid
:
public function get_gcmregid() {
$query_result = mysql_query("select * FROM table");
$i=0;
while ($row = mysql_fetch_array($query_result)){
$result[$i++] = $row['gcmregid'];
}
return $result;
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.