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

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

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

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

답변 3개

채택된 답변
+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시간 소비... ㅠ ㅠ

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

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

3542281319_1676554919.9588.png

thumb-3542281319_1676554987.9942_730x727.png

AI 굿

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

오메! 오메!!

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

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

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

로그인
🐛 버그신고