查询结果是$resul,已经显示在表格中了。
(表格第一列是复选框,value值已经绑定到$result中每一条记录中的主键)
我选择一条记录后,点击按钮,可以获得选中记录的主键($vaule)
现在想根据主键,获得选中行,以下方法报错。报错信息为:Warning: mysqli_result::fetch_row() [mysqli-result.fetch-row]: Couldn't fetch mysqli_result in on line 734
报错的行为:for(;$row = $array->fetch_row();){ for(;$row = $result->fetch_row();){
if($row[0]==$vaule)
return $row;
}
(表格第一列是复选框,value值已经绑定到$result中每一条记录中的主键)
我选择一条记录后,点击按钮,可以获得选中记录的主键($vaule)
现在想根据主键,获得选中行,以下方法报错。报错信息为:Warning: mysqli_result::fetch_row() [mysqli-result.fetch-row]: Couldn't fetch mysqli_result in on line 734
报错的行为:for(;$row = $array->fetch_row();){ for(;$row = $result->fetch_row();){
if($row[0]==$vaule)
return $row;
}
echo $sql;出来看一下.
可能出错的地方是编辑的时候,并没有得到复选框的值.
现在是选中一条后,点按钮,获取选中记录的row时出错的。
(之前一直用的是java,不知道php是不是可以这样弄?)
已经查出来,并显示在表格中了。
现在是选中一条后,点按钮,获取选中记录的row时出错的。
复选框里的值也能拿到。
(之前一直用的是java,不知道php是不是可以这样弄?)
所以就是拼凑成的$sql语句不正确,或者没有查询到记录.
而且结果集显示在表格中的代码,也是用for(;$row = $result->fetch_row();)这个语句来循环填入的。郁闷了
假设你一个页面显示20条记录,
1 你显示表格的sql应该这样写. select * from xxx limit 0,20
2 我选择一条记录后,点击按钮,可以获得选中记录的主键($vaule)
现在想根据主键,获得选中行. 这个sql语句要这样写 select * from xxx where primary_id = xxx所以,你能列出来,不代表你选中后再次查询的结果集正确.
哦,抱歉,看来是这里误会了。
可以不做查询,而直接把第一次查询$result传过去,通过判断主键是否相等,来返回对于的$row吗?
(感觉是不可以了..)
for(;$row = $result->fetch_row();){
if($row[0]==$vaule)
return $row;
}
$result属于resource类型,
不能被序列化,
不可能被传过去的.
再问下
除了再做查询,还有其他的解决方法吗?PS:JAVA是可以这样的,看来不能惯性思维。