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)); }
}
이렇게 고치세요~~~
답변에 대한 댓글 1개
댓글을 작성하려면 로그인이 필요합니다.
수다왕님과 BiHon님께 좋아요를 드린다는것이 채택하기를 눌러버렸네요~
질문글이 종결된 것 같아 다시 올리겠습니다.
수다왕님, BiHon님 정말 감사드립니다.
댓글을 작성하려면 로그인이 필요합니다.
f_idx가 단일 문자열 값인데, foreach()문을 사용하는 이유는 무엇인가요?
$f_idx_arr 자체가 Array나 Objext가 아니라 foreach()문 실행할 수 없을 텐데요.
$f_idx_arr = [escape_html($_REQUEST['f_idx'])]; // 배열로 할당한다고 해도, 값이 하나라서 별로.
답변에 대한 댓글 1개
다름이아니라
foreach ($f_idx_arr as $f_idx) {
$result = $db->Execute($stmt, array($f_idx));
}
이렇게 나열되어있을경우는
http://www.foodmall2020.com/check_proc.php?f_idx=1234&SqlType=food_delete
이런식 단일값을 집어서 삭제를 못하는지 궁금합니다.
혹시 누가 상품을 외부에서 f_idx값을 바꿔서 지운다고하면 문제가 커질 것 같아 여쭙습니다.
홈페이지 내부에서는 다행히 해결하여 잘 작동하는데 외부주소로 삭제는 불가할지 여쭙습니다.
감사합니다!
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인
제 환경에서는 작동하지않네요 ㅜㅜ
많은 도움이 되었습니다.
즐거운 하루되세요^^