채택완료

MySql 에서 AND, IN 함수에 Array 값 대치하는 방법

2023-02-16 (목) 13:16:19 2,275

Copy
SELECT * FROM tablename WHERE column1 IN ('value1', 'value2');
 

요 함수에서 Array ['aaa', 'bbb', 'ccc' ] 값을 IN ('value1', 'value2') 부분에 넣을려고 하는데 이쁘게 들어갈 수 있는 코드가 있을까요? 

explode, implode 써서 이리저리 해 봤는데 다 망함 ㅠ

|

답변 3개 / 댓글 2개

채택된 답변
+20 포인트
Copy
<?php
$arr = ['aaa', 'bbb', 'ccc'];
$instr = "'" . implode("','", $arr) . "'";
$sql = " SELECT * FROM tablename WHERE column1 IN ({$instr}); ";
echo $sql;

// SELECT * FROM tablename WHERE column1 IN ('aaa','bbb','ccc'); 
?>

답변에 대한 댓글 1개

$new_arr = array_map('trim', explode(',', $str));

왜 안되나 봤더니 explode 하면서 빈칸이 하나 들어가 있어서 sql 에서 검색이 안 됐군요..
2일동안 15시간 소비... ㅠ ㅠ
2023-02-16 (목) 22:43:18

AI 한테 질문 하신내용 똑같이 해봤습니다.

3542281319_1676554919.9588.png

thumb-3542281319_1676554987.9942_730x727.png

AI 굿

답변에 대한 댓글 1개

오메! 오메!!

답변을 작성하려면 로그인이 필요합니다.