php - Isset 适用于本地服务器,但不适用于实时服务器
问题描述
我正在使用 Xampp v3.2.2 在我的本地开发网站,我正在运行查询以过滤我的数据,它在我的本地工作正常但是当我上传(在服务器上更新我的代码)时它总是返回 0 值。我的服务器使用原生 php 5.6
我已经用 !empty 代替 isset,但它不起作用。所以这是我的过滤器代码之一:
$this->_require_login();
$user = $this->session->userdata('user_id');
$cust = $this->input->post('cust_name');
$dtstart = new DateTime($this->input->post('date_start'));
$dtend = new DateTime($this->input->post('date_end'));
$start_date = $dtstart->format('Y-m-d ');
$end_date = $dtend->format('Y-m-d ');
if ((isset($cust) && !empty($cust)) && (isset($start_date) && !empty($start_date)) && (isset($end_date) && !empty($end_date))){
$this->db->select('t1.cust_name, t1.act_type, t1.act_detail, t1.date_added, t1.date_modified, t1.act_notes')
->from('activity as t1')
->join('user as t2', 't1.user_id = t2.user_id', 'LEFT')
->where('t1.cust_name', $cust)
->where('t2.user_id', $user)
->where('DATE(t1.date_added) >= ', $start_date)
->where('DATE(t1.date_modified) <= ', $end_date);
$query = $this->db->get();
$result = $query->result_array();
if ($result) {
$this->output->set_output(json_encode([
'result' => 1,
'data' => $query->result_array()
]));
return false;
}
$this->output->set_output(json_encode([
'result' => 0,
'error' => 'Could not find data.'
]));
}
在我的本地它返回相应的记录,但在实时服务器上它返回 0。
解决方案
您没有其他声明:
<?php
if ((isset($cust) && !empty($cust)) && (isset($start_date) && !empty($start_date)) && (isset($end_date) && !empty($end_date))){
$this->db->select('t1.cust_name, t1.act_type, t1.act_detail, t1.date_added, t1.date_modified, t1.act_notes')
->from('activity as t1')
->join('user as t2', 't1.user_id = t2.user_id', 'LEFT')
->where('t1.cust_name', $cust)
->where('t2.user_id', $user)
->where('DATE(t1.date_added) >= ', $start_date)
->where('DATE(t1.date_modified) <= ', $end_date);
$query = $this->db->get();
$result = $query->result_array();
if ($result) {
$this->output->set_output(json_encode([
'result' => 1,
'data' => $query->result_array()
]));
return false;
}else{
$this->output->set_output(json_encode([
'result' => 0,
'error' => 'Failed Query'
]));
}
}else{
$this->output->set_output(json_encode([
'result' => 0,
'error' => 'Values Not Set'
]));
}
?>
此外,如果这不是一个函数,则 putreturn false;
不会返回任何内容,这可能就是它一直运行的原因。
推荐阅读
- html - Img 在 HTML 5 中未加载
- python - 行间距(IDLE 和 VS 代码)
- python - UnicodeEncodeError:“ascii”编解码器无法对位置 18-23 中的字符进行编码:序数不在范围内(128)
- c# - 在 C#、Windows 10 中创建虚拟相机,以使用 Zoom、Skype、浏览器
- regex - 正则表达式用行注释替换块注释
- testing - 在 Postman 测试脚本中使用动态值
- ruby - 在 Ruby 中按全名对 Tar 条目进行排序时出错
- java - 如何通过执行 JAR 创建 XML 报告
- javascript - 从包含路径的字符串列表创建树
- angular - 如何从角度 8 记录 aws pinpoint 事件