mysql Unknown column 'Array'에러에 대해 질문드립니다.
본문
안녕하세요
항상 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
$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를 받고나서 처리할로직
}
이런식으로 분기를 해주시면 해결될듯합니다.