|
|
@@ -2013,29 +2013,14 @@ class Fullorderexcel extends Start_Controller {
|
|
|
public function _datahz($where,$field,$order_str,$sj,$extra){
|
|
|
$goods_sku_list = $extra['goods_sku_list'] ;
|
|
|
$typeclass = $extra['typeclass'];
|
|
|
- //过滤掉表中不存在的字段,防止SQL报错
|
|
|
- if($field != '*' && !empty($field)){
|
|
|
- $table_fields = $this->$sj->fields;
|
|
|
- if(!empty($table_fields)){
|
|
|
- $field_arr = explode(',', $field);
|
|
|
- $field_arr = array_map('trim', $field_arr);
|
|
|
- $valid_fields = array();
|
|
|
- foreach($field_arr as $f){
|
|
|
- //处理字段别名的情况,如 "field AS alias"
|
|
|
- $real_field = trim(stristr($f, ' AS ', true) ?: $f);
|
|
|
- //去掉表前缀,如 "table.field"
|
|
|
- if(strpos($real_field, '.') !== false){
|
|
|
- $real_field = trim(substr(strrchr($real_field, '.'), 1));
|
|
|
- }
|
|
|
- if(in_array($real_field, $table_fields)){
|
|
|
- $valid_fields[] = $f;
|
|
|
- }
|
|
|
- }
|
|
|
- $field = !empty($valid_fields) ? implode(',', $valid_fields) : '*';
|
|
|
- }
|
|
|
- }
|
|
|
- //取得信息列表
|
|
|
+ //取得信息列表,防止SQL字段不存在导致程序崩溃
|
|
|
+ $this->$sj->db->db_debug = FALSE;
|
|
|
$info_list = $this->$sj->find_all($where,$field,$order_str);
|
|
|
+ $this->$sj->db->db_debug = TRUE;
|
|
|
+ if(!is_array($info_list)){
|
|
|
+ $info_list = array();
|
|
|
+ return $info_list;
|
|
|
+ }
|
|
|
//格式化数据
|
|
|
$i = 1;$shouldmoney = 0;$hl=1;
|
|
|
$usp = $extra['usp'];
|