这种sql是什么写法呢

2016-07-07 15:03 来源:www.chinab4c.com 作者:ecshop专家

$sql="select cat_idfrom ".$GLOBALS['ecs']->table('category')." where parent_id in($sql)";
这种sql是什么写法呢,括号里面的$sql在前面没有任何定义,好像是嵌套写法,但是这样的话里面的$sql又表示什么呢,整个语句是在一个自定义函数里面的,function getCatChildren($children){
$cat_id_flag=1;
$sql_flag=0;
$strIn='';
while ($cat_id_flag){
$cat_id_flag=0;
if($sql_flag){
$sql="select cat_idfrom ".$GLOBALS['ecs']->table('category')." where parent_id in($sql)";

}else{
$sql="select cat_idfrom ".$GLOBALS['ecs']->table('category')." where parent_id in($children)";
echo "hehe";
}
$result = $GLOBALS['db']->getAll($sql);
foreach ($result AS $idx => $row)//建立循环,循环所有查询的条数
{
$strIn=$strIn.$row['cat_id'].',';
$cat_id_flag=1;
$sql_flag=1;
}
}
$strIn=$strIn.$children;
return $sql;
}

回答:
乱七八糟的

parent_id in($sql)"
这个$sql,看他前面sql定义
可以打印出来看下

把这个是$sql的结果打印出来,看下具体的sql