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

2021-04-07  本文已影响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) . "')");
上一篇下一篇

猜你喜欢

热点阅读