맴버 여분 필드에 db 저장 질문
본문
chatgpt랑 그누보드 질문 게시판 참조해서 이모티콘샵 기능을 만들고 있습니다.
g5_member 테이블에 emoticon1부터 emoticon20까지의 여분 필드를 생성했습니다.
예를 들어, 사용자가 emoticon1을 구매하면 해당 이모티콘의 가격만큼 포인트가 차감되고,
emoticon1 필드에 숫자 1
을 넣어서 구매한 이모티콘과 구매하지 않은 이모티콘을 구별하려고 합니다.
포인트 차감 부분은 문제없이 동작하지만 여분 필드에 숫자가 들어가지 않습니다.
무엇이 문제일까요?
답변 2
일단 $g5_member 가 아니라 g5_member 로 바꿔보세요.
※ 확인 사항:
1. $g5_member 변수:
- $g5_member는 실제 테이블 이름이어야 합니다.
- $g5_member = 'g5_member';와 같이 정의했는지 확인하세요.
2. $emojiId 변수:
- $emojiId는 emoticon1, emoticon2 등으로 설정되며,
이는 데이터베이스 컬럼 이름과 일치해야 합니다.
- 컬럼 이름이 잘못되었거나 필드가 존재하지 않으면 쿼리가 실패합니다.
- $emojiId를 출력하여 확인하세요:
echo "Emoji ID: $emojiId";
3. sql_query 함수 결과:
- sql_query가 성공적으로 실행되었는지 확인하려면 결과를 점검해야 합니다:
$result = sql_query("UPDATE $g5_member SET $emojiId = 1 WHERE mb_id = '{$member['mb_id']}'");
if (!$result) {
echo "SQL Error: " . sql_error();
exit;
}
*$g5_member, $emojiId, mb_id 값의 유효성 검증.
*sql_error()와 MySQL 로그로 쿼리 실패 원인 확인.
*emoticon1 ~ emoticon20 필드 존재 여부 점검 및 추가.