foreach문에서 게시글 삭제 시 질문드립니다.
본문
안녕하세요
sir회원님들의 도움을 받고있는 클래스는영원히라합니다.
항상 감사드립니다.
다름이아니라 궁금한점이 있어 질문드리게되었습니다.
http://www.foodmall2020.com/check_proc.php?f_idx=1234&SqlType=food_delete
이런식으로 게시글을 삭제해주려고하는데요
아래는 check_proc.php입니다.
case "food_delete" :
$sql = "update data_food set delete_yn = 'Y' where f_idx = ?";
$stmt = $db->Prepare($sql);
$f_idx_arr = escape_html($_REQUEST["f_idx"]);
foreach ($f_idx_arr as $f_idx) {
$result = $db->Execute($stmt, array($f_idx));
}
다름이아니라 삭제 시도 시 Warning: Invalid argument supplied for foreach()의 메시지가 나오고있습니다.
혹시 어떻게해야 삭제를 할 수 있을지 많은 조언 부탁드립니다.
감사합니다!
답변 3
if(!empty($f_idx)){
foreach ($f_idx_arr as $f_idx) {
$result = $db->Execute($stmt, array($f_idx));
}
}
이렇게 고치세요~~~
f_idx가 단일 문자열 값인데, foreach()문을 사용하는 이유는 무엇인가요?
$f_idx_arr 자체가 Array나 Objext가 아니라 foreach()문 실행할 수 없을 텐데요.
$f_idx_arr = [escape_html($_REQUEST['f_idx'])]; // 배열로 할당한다고 해도, 값이 하나라서 별로.
수다왕님과 BiHon님께 좋아요를 드린다는것이 채택하기를 눌러버렸네요~
질문글이 종결된 것 같아 다시 올리겠습니다.
수다왕님, BiHon님 정말 감사드립니다.