所以我有这个查询应该生成一个说明" x和x'之间的对话。但是现在,我只是打印那些用户userids的前两位数字。最终我会更改查询以获取其用户名,但我现在只是从用户ID开始。由于数组是字符串,我认为如果我抓住用户名,就会发生同样的问题。
另外,我知道它已被弃用......我计划很快转换到sqli。应该对此没有影响。查询工作正常,我认为它只是从数组错误抓取。
$sql1 = "SELECT distinct(userid) as userid FROM message_recips WHERE messageid=$_GET[id]";
echo $sql1;
$result1=mysql_query($sql1);
var_dump($result1);
$results2=mysql_fetch_array($result1);
var_dump($results2);
$uids= array();
foreach ($results2 as $result) {
$uids[] = (int)$result['userid'];
}
$last = array_pop($uids);
print '<p>Conversation between ';
print implode(', ', $uids) . ' and ' . $last;
echo '.</p>';
以下是从阵列打印的内容:
Conversation between 2 and 2.
当数组看起来像:
array (size=2)
0 => string '274' (length=3)
userid' => string '274' (length=3)
真诚感谢您的帮助!我环顾四周尝试了一些来自类似问题但却找不到我的东西。
答案 0 :(得分:0)
更改
$uids[] = (int)$result['userid'];
到
$uids[] = $result['userid'];
答案 1 :(得分:0)
//$results2=mysql_fetch_array($result1);
$uids = array();
while ($row = mysql_fetch_assoc($result1)) {
$uids[] = $row['userid'];
}
$last = array_pop($uids);