美文网首页
sql语句 in传入数组变字符串

sql语句 in传入数组变字符串

作者: 上善丨若水 | 来源:发表于2021-04-07 14:41 被阅读0次
    #数组A
    $arr_A = [1,2,3];
    
    $model->where("id in (" . implode(',', $arr) . ")")->update($data);
    

    我们这样写是能够根据主键ID更新数据的,但是如果我们的数组里面的值存的是字符串的话,例如:

    #数组B
    $arr = ['张三','李四','王五'];
    
    $model->where("name in (" . implode(',', $arr) . ")")->update($data);
    

    这样mysql报错,提示字段不存在

    所以我们可以将其变成字符串后拼接

    $str = "'" . implode("','", $arr) . "'";
    
    $model->where("name in (" . $str . ")")->update($data);
    或者简单点
    $model->where("name in ('" . implode("','", $arr) . "')");
    

    相关文章

      网友评论

          本文标题:sql语句 in传入数组变字符串

          本文链接:https://www.haomeiwen.com/subject/dwhukltx.html