mysql Unknown column 'Array'에러에 대해 질문드립니다. 채택완료

5년 전 조회 2,143

안녕하세요

항상 sir회원님들의 도움을 받고있는 회원입니다.

정말 감사드립니다.

 

다름이아니라 작업 중 궁금한점이 있어 질문드리게되었습니다.

 

$sql = "SELECT * FROM table_food where f_idx = ? ";
$stmt = $db->Prepare($sql);
$data = $db->GetRow($stmt, array($f_idx));

 

삭제코드에서 윗처럼 작성하면

아래의 오류가 나오고있습니다.

 

GetRow()(registration.php:126);
Fatal error: mysqli error: [1054: Unknown column 'Array' in 'where clause'] in EXECUTE("SELECT * FROM table_food where f_idx = Array ")

 

혹시 왜 이런현상이 있는지 궁금합니다.

고수님들의 많은 조언 부탁드립니다.

 

답변 1개

채택된 답변
+20 포인트

$data = $db->GetRow($stmt, array($f_idx));

 

여기에서 전달한 $f_idx 가 배열로 넘어가서 그래요

 

해결하려면

if (is_array($f_idx)) {

    foreach($f_idx as $val) {

        $stmt = $db->Prepare($sql);

        $data = $db->GetRow($stmt, array($val));

        // 멀티전달값일때 data 를 받고나서 처리할 로직

    }

}

else {

    $data = $db->GetRow($stmt, array($f_idx));

     // 단일 전달값일때 data를 받고나서 처리할로직

}

 

이런식으로 분기를 해주시면 해결될듯합니다.

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

답변에 대한 댓글 1개

플래토님 답변 감사드립니다!
덕분에 바로 해결되었습니다.

매번 막히는 부분에서 도움주셔서 정말 감사드립니다.

즐거운 하루 되세요^^

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

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

로그인
🐛 버그신고