搜尋

首頁  >  問答  >  主體

如果條件需要用到IN的時候該怎麼寫, 麻煩能給舉例說明下

#生成预处理对象
$sql = 'SELECT * FROM dede_archives WhERE id IN (:id)' ;
$stmt = $pdo -> prepare($sql);
 
 
#参数的绑定并执行
$id = implode(',',[2,3,4,5,6,7,8,9]);
 
#$stmt -> bindParam(':id',$id,PDO::PARAM_STR);
$stmt -> bindValue(':id','2,3,4,5,6,7,8,9',PDO::PARAM_STR);
$stmt -> execute();
 
结果只能查询到id为2的数据,其他id的数据查询不到! 
在传递这些多个值的时候或者多条件的时候应该怎样写;


#
WeiWei2231 天前1501

全部回覆(3)我來回復

  • Summer

    Summer2018-11-14 18:19:23

    拼接sql語句就好了

    回覆
    0
  • 7tian.work

    7tian.work2018-11-14 10:53:48

    TP5.1.21   版本之後陣列查詢支援:

    要達到這樣子查詢:

    1、先引用: use think\db\Where;

    2、定義陣列:$where = new Where;

    3、就可以用了:$where['title'] = ['like', "%".$sotitle."%"];

    參考網址:https://blog.csdn.net/haibo0668/article/details/78295485

    回覆
    0
  • Wei

    嗯 你這個是tp裡封裝了的 如果原生php的應改怎麼查

    Wei · 2018-11-14 10:57:03
  • 取消回覆