Php CodeIgniter有时收到消息查询错误
虽然这种情况很少发生,但有时我的项目会在我的查询中显示错误消息Php CodeIgniter有时收到消息查询错误,php,mysql,sql-server,codeigniter,Php,Mysql,Sql Server,Codeigniter,虽然这种情况很少发生,但有时我的项目会在我的查询中显示错误消息 select * from ( select rlog.id_issue, created.LogUser as create_by, created.LogTime as create_time,r_change.change_by,rlog.tglupt, r_aprove.date1 as aproved_date,issue_type,nama_app,status,kondisi,logAc
select * from (
select rlog.id_issue, created.LogUser as create_by, created.LogTime as create_time,r_change.change_by,rlog.tglupt,
r_aprove.date1 as aproved_date,issue_type,nama_app,status,kondisi,logAct, r_issue.keterangan, logket, param
from (select id_issue, logAct, max(logtime) as tglupt,param, logket from r_log group by id_issue, logAct, logket,param) rlog
inner join (select Id_issue, LogUser, LogTime from r_log where LogAct like 'add%' ) created on rlog.id_issue = created.id_issue
left join r_change on rlog.id_issue = r_change.id_issue
left join r_aprove on r_change.id_change = r_aprove.id_change
left join r_issue on rlog.id_issue = r_issue.id_issue
inner join r_app_det on r_issue.id_app = r_app_det.id_app
)z where issue_type is not null
and id_issue = ".$id."
order by tglupt, case when logAct = 'Add' then '1' else logact end asc
我想这不是因为我的质疑
select * from (
select rlog.id_issue, created.LogUser as create_by, created.LogTime as create_time,r_change.change_by,rlog.tglupt,
r_aprove.date1 as aproved_date,issue_type,nama_app,status,kondisi,logAct, r_issue.keterangan, logket, param
from (select id_issue, logAct, max(logtime) as tglupt,param, logket from r_log group by id_issue, logAct, logket,param) rlog
inner join (select Id_issue, LogUser, LogTime from r_log where LogAct like 'add%' ) created on rlog.id_issue = created.id_issue
left join r_change on rlog.id_issue = r_change.id_issue
left join r_aprove on r_change.id_change = r_aprove.id_change
left join r_issue on rlog.id_issue = r_issue.id_issue
inner join r_app_det on r_issue.id_app = r_app_det.id_app
)z where issue_type is not null
and id_issue = ".$id."
order by tglupt, case when logAct = 'Add' then '1' else logact end asc
有什么建议说明为什么会发生这种情况吗
这是我查询的示例
select * from (
select rlog.id_issue, created.LogUser as create_by, created.LogTime as create_time,r_change.change_by,rlog.tglupt,
r_aprove.date1 as aproved_date,issue_type,nama_app,status,kondisi,logAct, r_issue.keterangan, logket, param
from (select id_issue, logAct, max(logtime) as tglupt,param, logket from r_log group by id_issue, logAct, logket,param) rlog
inner join (select Id_issue, LogUser, LogTime from r_log where LogAct like 'add%' ) created on rlog.id_issue = created.id_issue
left join r_change on rlog.id_issue = r_change.id_issue
left join r_aprove on r_change.id_change = r_aprove.id_change
left join r_issue on rlog.id_issue = r_issue.id_issue
inner join r_app_det on r_issue.id_app = r_app_det.id_app
)z where issue_type is not null
and id_issue = ".$id."
order by tglupt, case when logAct = 'Add' then '1' else logact end asc
这是我的数据,用于$query=$this->db->query(“从mUser中选择*,其中username='“$uname.”)代码>:
-----------------------------------------
username | name | role
-----------------------------------------
ADR | andry | 2
AND | Andrew | 4
------------------------------------------
-如果我的英语不好,很抱歉。花了大约$uname,你不会得到任何结果。所以,在转换为row()之前,应该检查查询是否返回结果。像这样
$query =$this->db->query("SELECT * FROM mUser WHERE username='".$uname."'");
if($query->num_rows() == 1){
$query->row();
}else{
//....
}
我想你没有用。
$query->row();或$query->result();在查询的最后
$query =$this->db->query("select * from (
select rlog.id_issue, created.LogUser as create_by, created.LogTime as create_time,r_change.change_by,rlog.tglupt,
r_aprove.date1 as aproved_date,issue_type,nama_app,status,kondisi,logAct, r_issue.keterangan, logket, param
from (select id_issue, logAct, max(logtime) as tglupt,param, logket from r_log group by id_issue, logAct, logket,param) rlog
inner join (select Id_issue, LogUser, LogTime from r_log where LogAct like 'add%' ) created on rlog.id_issue = created.id_issue
left join r_change on rlog.id_issue = r_change.id_issue
left join r_aprove on r_change.id_change = r_aprove.id_change
left join r_issue on rlog.id_issue = r_issue.id_issue
inner join r_app_det on r_issue.id_app = r_app_det.id_app
)z where issue_type is not null
and id_issue = ".$id."
order by tglupt, case when logAct = 'Add' then '1' else logact end asc");
foreach ($query->result_array() as $row)
{
echo $row['title'];
echo $row['name'];
echo $row['body'];
}
问题出在我的连接上,我在本地主机上尝试过,但从未出现过问题。thx all.发布错误message@barcelona_delpy这就是问题所在,当我刷新页面时,错误消失了,我的项目正常运行。很少会出现错误的信息。如果显示错误,我将发布它。@barcelona\u将此错误与我得到的错误进行比较:致命错误:在C:\xampp\htdocs\Myproject\application\models\query.php的第88行对非对象调用成员函数row()。线路总是变化的。这就是为什么我如此困惑,我的项目出了什么问题。我怀疑问题出在我的连接上,这可能是因为连接吗?例如:服务器运行时错误。请在query.php
中输入第88行,然后是什么原因导致$uname没有得到任何结果?当另一次有结果时。你能发布uname和DB的样本数据包含username列值吗。因为可能有不匹配的字符。因此,请在这里张贴样本数据,并用大写字母填写用户名“ADR”。假设您给出了“adr”(小写字母)或“adr”等等,那么它将不匹配。所以你应该检查这里,我认为这不是真正的问题。顺便说一句,谢谢。只需在命令SELECT*FROM mUser WHERE username='ADR'//SELECT*FROM mUser WHERE username='ADR'//SELECT*FROM mUser WHERE username='ADR'中使用不同的字符串执行即可。当然,我在查询结束时有$query->result()