thinkphp的数据库修改数据的方法!

我先从数据库里随机读取出一条数据$arr=$m->where($data)->limit(1)->order('rand()')->select();然后我想先判断数据的... 我先从数据库里随机读取出一条数据
$arr = $m->where($data)->limit(1)->order('rand()')->select();
然后我想先判断数据的那一字段为空,然后将数据写入
foreach($arr[0] as $k => $val){
if($val == null){
$data['id'] = $arr[0][0];
$data[$arr[0][$k]] = '写入这句';
$m -> where() -> save($data2);
}
}
貌似一直更新不了,想求教一下大家我该怎么写?
展开
 我来答
learneroner
高粉答主

推荐于2016-02-26 · 关注我不会让你失望
知道大有可为答主
回答量:1.1万
采纳率:91%
帮助的人:6548万
展开全部
1、$data['id'] = $arr[0][0];这句$arr[0]的结构是怎样的?它应该是索引数组吧,那么$arr[0][0]存在么?
2、$m -> where() -> save($data2);这句几个意思,where条件都没有,为啥还要写where?$data2又是哪里冒出来的?
更多追问追答
追问

字数超了改成图片!

追答

嗯,明白你的意思。

1、追问里边倒数第二句错了,应该是$data[$k] = '写入这句';

2、你说“还是错的”,具体是怎样的?是没有更新,还是代码有错误?代码错误的话又是什么错误信息?


ps:你是要将查询出的数据中为空的字段补充信息,这样可能有好几个空字段,所以理想的方法是先找出需要更新的字段,最后再一次性更新。

 foreach($arr[0] as $k => $val){
     $data['id'] = $arr[0]['id']; 
     if($val == null)
         $data[$k] = '写入这句';
     $m->save($data);
 }
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式