我在数据库列中有一些名为" gcmregid"的数据。 我通过调用:
来访问这些数据public function getAllUsers() {
$r = mysql_query("select * FROM table");
while ($row = mysql_fetch_array($r)) {
$result = array(
'gcmregid' => $row["gcmregid"]
);
}
return $result;
}
如果我错了,请纠正我,但由于结果=数组,这应该提供一个数组? 我从这里采用了这个逻辑:Getting Resource id #3 Error in MySql
。然后我使用循环会很有帮助,例如:
$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 ?
}
它也不起作用。 任何输入现在都会非常感激...... 感谢
答案 0 :(得分:2)
我不确定出了什么问题,但如果问题是它返回了一个项目:那是因为你每次迭代都会继续制作 new 数组,丢弃旧的数组。如果要收集所有行,请在循环外部创建一个新数组,然后将结果添加到它:
public function getAllUsers() {
$r = mysql_query("select * FROM table");
$result = array();
while ($row = mysql_fetch_array($r)) {
$result[] = array (
'gcmregid' => $row["gcmregid"]
);
}
return $result;
}
答案 1 :(得分:0)
您应该考虑更多地了解如何命名您的功能。如果您尝试获取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;
}