为了账号安全,请及时绑定邮箱和手机立即绑定

为何我跟着老师写解析order by,代码一样,但是执行的时候传入$order 却被忽略了呢

/*函数调用部分*/

public static function find($tables,$where=null,$fields='*',$group=null,$hanving=null,$order=null,$limit=null){

$sql = 'select '.self::parseFields($fields).' from '.$tables

.self::parseWhere($where)

.self::parseGRoup($group)

.self::parseHaving($hanving)

.self::parseOrder($order)

.self::parseLimit($limit);

$dataAll = self::getAll($sql);

return count($dataAll)==1?$dataAll[0]:$dataAll;

}

/*解析order by 部分*/

public static function parseOrder($order){

$orderStr = '';

if(is_array($order)){

$orderStr = ' order by '.join(',',$order);

}elseif(is_string($order)&&empty($order)){

$orderStr = ' order by '.$order;

}

return $orderStr;

}

/*执行调用部分*/

$tables = 'cj_setting';

var_dump($PdoMySQL->find($tables,null,'*',null,null,'present desc','4,3'));

老师和各位前辈大哥大姐,能给解惑么,万分感谢,可能是我粗心,但是我真没发现那里错了。。

如果我在limit的参数中添加错误的,就会报错,添加正确的,能正常获取数据,但确确实实,order by部分被忽略掉了。。

正在回答

1 回答

elseif(is_string($order)&&empty($order))这里empty前面漏了个感叹号取反吧,应该是!empty($order)

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

为何我跟着老师写解析order by,代码一样,但是执行的时候传入$order 却被忽略了呢

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信