sql안에 변수들을 가변적으로 쓸수있을까요

2021-05-03 (월) 11:01:51 6,382
|

답변 4개 / 댓글 1개

해결했습니다

common.php에

$extra_list = array(

  "wr1",

  "wr2",

  "wr3",  

);

이렇게 두고

기존 $sql에 추가하는 형식으로

   $sql = "insert into ~~~~~";

   foreach($extra_list as $k=>$v){

        $tmpV = " ,".$v." = ".$$v;

        $sql .= $tmpV;

        //;

    }

$를 두개써서 동적으로 할당이 되네요

문자열로 만들어두고 치환하시면 될거 같네요

ex) 

Copy
common 에서

$sql = "

                    ~~~~~~~~~

                  ~~~~~~~~~

                     wr_1 = '{{wr_1}}',

                     wr_2 = '{{wr_2}}',

                     wr_3 = '{{wr_3}}',

                     wr_4 = '{{wr_4}}',

                     wr_5 = '{{wr_5}}',

                     wr_6 = '{{wr_6}}',

                     wr_7 = '{{wr_7}}',

                     wr_8 = '{{wr_8}}',

                     wr_9 = '{{wr_9}}' ";

 

 

 

 

실제로 쿼리를 사용하는 소스에서

$sql = str_replace("{{wr_1}}" , $wr_1 , $sql );
$sql = str_replace("{{wr_2}}" , $wr_2 , $sql );
$sql = str_replace("{{wr_3}}" , $wr_3 , $sql );

답변에 대한 댓글 1개

감사합니다. 그런데 이것도 나중에 뭘 추가하려면 write_update.php 쪽을 직접 건드려야 하지않나요? 혹시 제가 제 답변으로 해놓은 방법은 어떤가요? 써도되는 코드인가요?

음.. $wr_1 값을 만드는 부분이 common.php 보다 아래에 있을텐데  

(예를들면 view.php, write.php 이런 페이지들)

$wr_1이 get, post로 주고받는 데이터가 아니다보니

common.php에서 전역으로 묶어서 사용하긴 힘들어 보입니다.

2021-05-03 (월) 11:09:24

질문이 이해가 안 되네요.

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