Copy
$user_no = $_GET["user_id"];
$name = $_GET["name"];
$item_name = $_GET["item_name"];
if( $db->insert("edu_log", "
num='$user_no',
name='$name',
item_name='테스트',
item_num='$logd_name',
regdate= now() "));
아래 이미지를 보시면 동일 데이타 가 한번에 두개씩 등록됩니다.
왜그런지 이유 좀 알려줄래요?

감사드림.
답변 4개 / 댓글 16개
채택된 답변
+20 포인트
2년 전
$_GET은 URL에 동일 매개변수가 두 번 이상 포함되어 있으면 배열로 처치될가능성이 많습니다. 이럴땐 변수를 변경 해보면 알수 알수있을것 같네요
답변에 대한 댓글 4개
2년 전
2년 전
$user_no = $_GET["user_id"][0];
$name = $_GET["name"][0];
$item_name = $_GET["item_name"][0];
요래 한번해보세요 두번 인서트 되는걸 막아줄꺼에요
$name = $_GET["name"][0];
$item_name = $_GET["item_name"][0];
요래 한번해보세요 두번 인서트 되는걸 막아줄꺼에요
2년 전
감사합니다. 뭘 해도 안되눈군요.
GROUP BY regdate
이렇게 해서 중복값중 하나만 가져오는걸로 처리했네요.
주말 잘 보내세요.
답변에 대한 댓글 2개
2년 전
그래도 혹시몰르니 GROUP BY regdate 쓰는 것을 자재하시고 리솔트를 한번 해봐서 원인을 찾아보는게 낮을 듯 합니다.
$result = $db->insert("edu_log", "
num='$user_no',
name='$name',
item_name='테스트',
item_num='$logd_name',
regdate= now() ");
if ($result) {
echo "데이터가 성공적으로 저장되었습니다.";
} else {
echo "데이터 저장에 실패했습니다. 관리자에게 문의해주세요.";
echo "오류 메시지: " . $db->lastErrorMsg();
}
$result = $db->insert("edu_log", "
num='$user_no',
name='$name',
item_name='테스트',
item_num='$logd_name',
regdate= now() ");
if ($result) {
echo "데이터가 성공적으로 저장되었습니다.";
} else {
echo "데이터 저장에 실패했습니다. 관리자에게 문의해주세요.";
echo "오류 메시지: " . $db->lastErrorMsg();
}
swallow
2년 전
현 코드 맨 위에 echo "한번만 실행되나 검사!"; 이코드를 삽입하고 테스트해보세요.
만일 위의 텍스트가 두번 출력되어지면 분명 두번 실행된다는것을 의미합니다.
만일 그렇지 않다면 DB쪽 문제일 가능성이 큽니다. 그런 경우 해당 디비와 테이블의 구조에 대한 구체적인 분석이 필요할거 같습니다.
답변에 대한 댓글 7개
swallow
2년 전
그러면 중복삽입을 막기 위해 unique와 같은 index설정을 해주어야 할거 같습니다.
num, name, item_name, item_num 이렇게 4개의 필드로 조합된 unique index를 설정하면 중복삽입문제는 해결되나.... 여전히 왜 중복삽입되는지는 이상하군요,
num, name, item_name, item_num 이렇게 4개의 필드로 조합된 unique index를 설정하면 중복삽입문제는 해결되나.... 여전히 왜 중복삽입되는지는 이상하군요,
Min아빠
2년 전
해당 페이지가 2번 호출이 되는거 같습니다.
저장되는 부분을 점검하시면 될듯합니다.
답변에 대한 댓글 3개
2년 전
만약에 그렇다면 .............
$user_no = $_GET["user_id"][0];
$name = $_GET["name"][0];
$item_name = $_GET["item_name"][0];
요래 한번해보세요 두번 인서트 되는걸 막아줄꺼에요
$user_no = $_GET["user_id"][0];
$name = $_GET["name"][0];
$item_name = $_GET["item_name"][0];
요래 한번해보세요 두번 인서트 되는걸 막아줄꺼에요
답변을 작성하려면 로그인이 필요합니다.
감사합니다.