请问:这两句数据库操作语句什么意思
程序员文章站
2024-01-27 13:29:28
...
$level1=pdo_fetchall('select id from ' . tablename('shop_member') . ' where agentid='".$member['id']."' ', 'id');
$level2=pdo_fetchall('select id from ' . tablename('shop_member') . ' where agentid in( ' . implode(',', array_keys($level1)) . ') ', 'id');
第一点:语句结束都跟了一个, 'id' 这什么意思?
第二点:where agentid in( ' . implode(',', array_keys($level1)) . ') ', 'id'这句不懂
谢谢了!
是关联ID,根据ID再分组
$sql=$empire->query("select userid from member where agentid='".$user[userid]."' group by userid");
$sql2=$empire->query("select userid from member where agentid in( ' . implode('', array_keys($sql)) . ') group by userid");
第一条语句读出来3条,但第二个mysql语句读不到第一条的数据
array_keys( $sql)是上一个mysql语句查询的结果,然后这个语句根据上个语句查询查询在查询,并用group by userid进行分组
$level2=pdo_fetchall('select id from ' . tablename('shop_member') . ' where agentid in( ' . implode(',', array_keys($level1)) . ') ', 'id');
第一点:语句结束都跟了一个, 'id' 这什么意思?
第二点:where agentid in( ' . implode(',', array_keys($level1)) . ') ', 'id'这句不懂
谢谢了!
回复讨论(解决方案)
你 echo $level1; echo $level2; 就知道了
$level1 是读取一个 agentid 的记录
$level2 是读取一组 agentid 的记录
你 echo $level1; echo $level2; 就知道了
$level1 是读取一个 agentid 的记录
$level2 是读取一组 agentid 的记录
你 echo $level1; echo $level2; 就知道了
$level1 是读取一个 agentid 的记录
$level2 是读取一组 agentid 的记录
是关联ID,根据ID再分组
一个是读取id=xxx的记录
另一个是读取id=xxx or id=xxx1 or id=xxxx2 的记录。
一个是读取id=xxx的记录
另一个是读取id=xxx or id=xxx1 or id=xxxx2 的记录。
$sql=$empire->query("select userid from member where agentid='".$user[userid]."' group by userid");
$sql2=$empire->query("select userid from member where agentid in( ' . implode('', array_keys($sql)) . ') group by userid");
第一条语句读出来3条,但第二个mysql语句读不到第一条的数据
你echo "select userid from member where agentid in( ' . implode('', array_keys($sql)) . ') group by userid" 的结果在phpmyadmin 执行有数据吗
你echo "select userid from member where agentid in( ' . implode('', array_keys($sql)) . ') group by userid" 的结果在phpmyadmin 执行有数据吗
array_keys( $sql)是上一个mysql语句查询的结果,然后这个语句根据上个语句查询查询在查询,并用group by userid进行分组
推荐阅读