mysql语句怎么接收不到数组?
程序员文章站
2024-02-02 10:00:10
...
$sql=$empire->query("select userid,agentid,username from member where agentid='".$user[userid]."' group by userid");
while($r=$empire->fetch($sql))/*逐行获取结果集中的记录,得到数组row*/
{
$array[]=$r;//接受结果集
}
echo '
我想将上面查询出来的$array这个数组传递到下面这个mysql语句中,应该怎么处理。用了group by userid进行分类,然后下面这个mysql语句是再次查询数据库,再然后根据上面分类出来的结果再进行分类。
$sql2=$empire->query("select userid,agentid,username from member where agentid in( ' . implode('', array_keys($array)) . ') group by userid");
在while理循环有数据,可是在第一个语句里$array是没有数据的。
这是第二次查询连起来的语句,这样连起来可以查询,我想变成段一点的语句
select userid from member where agentid IN (select userid from member where agentid='$user[userid]' group by userid) group by userid
第二次查询结果依照第一次查询的分类,第二次可以这样写语句,但第三次查询还怎么写,那得多长的语句呀
第三次查询结果依照第二次查询分类
while($r=$empire->fetch($sql))/*逐行获取结果集中的记录,得到数组row*/
{
$array[]=$r;//接受结果集
}
echo '
';';
print_r($array);//打印数组没有问题,出来的是数组
echo '
我想将上面查询出来的$array这个数组传递到下面这个mysql语句中,应该怎么处理。用了group by userid进行分类,然后下面这个mysql语句是再次查询数据库,再然后根据上面分类出来的结果再进行分类。
$sql2=$empire->query("select userid,agentid,username from member where agentid in( ' . implode('', array_keys($array)) . ') group by userid");
回复讨论(解决方案)
$array 二维数组
array_keys($array) 得到的只是 $array 的第一维的下标(0,1,2,3....)
$array 二维数组
array_keys($array) 得到的只是 $array 的第一维的下标(0,1,2,3....)
在while理循环有数据,可是在第一个语句里$array是没有数据的。
你到底想干什么?
这样硬凑代码是不行的
你到底想干什么?
这样硬凑代码是不行的
这是第二次查询连起来的语句,这样连起来可以查询,我想变成段一点的语句
select userid from member where agentid IN (select userid from member where agentid='$user[userid]' group by userid) group by userid
第二次查询结果依照第一次查询的分类,第二次可以这样写语句,但第三次查询还怎么写,那得多长的语句呀
第三次查询结果依照第二次查询分类
已经搞定了。
下一篇: 权限控制