欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

请问:这两句数据库操作语句什么意思

程序员文章站 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'这句不懂

谢谢了!


回复讨论(解决方案)

你 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进行分组