【发布时间】:2015-03-07 08:00:40
【问题描述】:
我有这个代码
$query = "SELECT `subscriberid`,`data` FROM `****table_name*****`"
. "WHERE `subscriberid` IN (123,456,789,101)";
$result = $cxn->query($query);
$Points = array();
while ($row = $result->fetch_assoc()) {
$Points[$row['subscriberid']] = $row['data'];
}
我希望 $Points 的键是订阅者 ID,但是当我打印出 $Points 时,我不断得到默认键 0-3,我看不出有任何原因发生这种情况。
【问题讨论】:
-
您确定
$Points没有在其他地方声明吗? IE;这是一个独特的变量?此外,您可以在该字段上尝试别名:"SELECT subscriberid AS sid, data FROM...然后使用$row['sid'] -
请您在 while 循环之间创建一个
var_dump($Points)和var_dump($row)。 -
另外,你应该只在有结果的情况下进行迭代;将
while...循环包装在if ($result = $cxn->query($query)) {和}中,而不仅仅是$result = $cxn->query($query);
标签: php arrays dynamic while-loop