为何我跟着老师写解析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部分被忽略掉了。。