PGR21.com
- PGR21 관련된 질문 및 건의는 [건의 게시판]을 이용바랍니다.
- (2013년 3월 이전) 오래된 질문글은 [이전 질문 게시판]에 있습니다.
통합 규정을 준수해 주십시오. (2015.12.25.)
Date 2016/10/04 04:04:38
Name 레이오네
Subject [질문] (수정)php문에서 mysql DB에 insert하는 것 관련 질문입니다.
* 질문이 잘못되서 수정했습니다;;
바로 코드로 들어갑니다.

<?php
define ( "HOST", "localhost" );
define ( "USER", "root" );
define ( "PASSWD", "passwd" );
define ( "DB_NAME", "DB" );

$connect = mysqli_connect(HOST, USER, PASSWD, DB_NAME);

mysqli_set_charset($connect,"utf8");  
  
if (mysqli_connect_errno($connect))  
{  
   echo "Failed to connect to MySQL: " . mysqli_connect_error();  
}
   $select_query = "SELECT A1, A2 FROM table_a";
   $result_set = mysqli_query($connect, $select_query);  

   while ($row = mysqli_fetch_assoc($result_set)){
      echo 'value1 : '.$row['A1'].', value2: '.$row['A2'].'
';
   }
/*
   while ($row = mysqli_fetch_assoc($result_set)){
        mysql_query("INSERT INTO table_b(B1, B2) VALUES ('$row['A1'] * 30', '$row['A2']')");
   }
*/  
   mysqli_close($connect);  
?>  

여기서 주석 부분이 문제입니다. echo로 php 파일 내에서 표기하는 것까진 정상적으로 됩니다만 위의 while문을 주석 부분의 insert 명령으로 바꿔넣으면 코드가 먹통이 되는데... 혹시 이유를 알 수 있을까요?

통합규정 1.3 이용안내 인용

"Pgr은 '명문화된 삭제규정'이 반드시 필요하지 않은 분을 환영합니다.
법 없이도 사는 사람, 남에게 상처를 주지 않으면서 같이 이야기 나눌 수 있는 분이면 좋겠습니다."
16/10/04 05:29
수정 아이콘
- 원인: result_set은 위의 mysqli_query를 실행하고 첫번째 루프를 돌면서 이미 $result_set커서가 쿼리 결과의 가장 뒤에 있습니다. 그대로 mysqli_fetch_assoc을 해봤자 이미 가장 뒤에 있기 때문에 아무것도 안 일어날 것입니다.
- 해결방법: 첫번째 루프 돌면서 echo를 하고 insert도 같이 하시면 됩니다. 그냥 하나의 루프에서 다 처리하면 되고 이 방법을 추천합니다. 굳이 루프를 두번 돌아야 한다면, mysqli_data_seek($result,0);를 두번째 루프 실행하기 전에 넣으시면 됩니다.
레이오네
16/10/04 09:25
수정 아이콘
앗, 새벽에 비몽사몽한 상태에서 글을 올렸더니 엉뚱한 질문이 되었네요. '위의 while문을 주석 부분의 insert 명령으로 바꿔넣으면' 코드가 먹통이 되는 문제였는데...

혹시 mysql_query("INSERT INTO table_b(B1, B2) VALUES ('$row['A1'] * 30', '$row['A2']')"); 에 문법적으로 문제가 있는지 여쭤봐도 될까요?
16/10/04 18:03
수정 아이콘
문법적으로는 B1이 varchar 등이면 문제 없고 int 등이면 문제 있습니다. 그런데 원하는 동작은 아니리라 생각합니다.
A1의 값에 30을 곱해서 넣고 싶다면 $row[A1]*30주위의 외다옴표는 삭제하고 넣으시면 됩니다.
16/10/04 11:19
수정 아이콘
커넥션을 mysqli 로 하셨네요.
나머지 부분엔 잘 하셨느데 해당 부분엔 mysql_query 로 실행하셨군요.
해당 부분을 일단 mysqli_query 로 교체하시구요,
while 문에서 돌리는 loop 수가 몇개인지 (즉 몇개의 row 를 insert 하는지) 알 수 없어서 데이터가 많아서 먹통이 되는지,
아니면 위처럼 커넥터 문제인지 일단 커넥터를 먼저 수정해서 돌려보셔야 할 것 같습니다.
쿼리 자체는 큰 문제가 없어 보입니다.
레이오네
16/10/04 11:55
수정 아이콘
답변 감사합니다 :)
목록 삭게로! 맨위로
번호 제목 이름 날짜 조회
90978 [질문] 중고차 구매 질문입니다. [10] deadbody3776 16/10/04 3776
90977 [질문] 다크그레이 슬랙스에 상의 추천좀 해주세요 [6] 토다에4284 16/10/04 4284
90975 [질문] 외국 멜로 영화 추천 좀 해주세요. [14] 레너블7887 16/10/04 7887
90974 [질문] 다크소울1 입문했는데 몇가지 질문합니다. [4] 구경꾼3706 16/10/04 3706
90973 [질문] [하스스톤] 요즘 1티어 직업은 뭔가요? (+ 법사 상성?) [4] Kblacksnow5207 16/10/04 5207
90972 [질문] 부산에서 직항으로 갈만한 여행지? [3] 이상한화요일2842 16/10/04 2842
90971 [질문] 후쿠오카 피규어샵 질문 있습니다. [12] 세카이노오와리5002 16/10/04 5002
90970 [질문] [파워질문] 고수님들 컴퓨터가 가끔씩 켜지지 않을때가 있습니다! [4] HesBlUe3770 16/10/04 3770
90969 [질문] 서울에서 VR/HMD 체험할 수 있는곳. [3] Golden3491 16/10/04 3491
90968 [질문] 자동차 견적을 좀 알아보고 싶은데 어디가 좋을까요? [2] 쉬군2938 16/10/04 2938
90967 [질문] 칭찬시스템 최초도입했던 온라인게임 아시나요? [13] 루트에리노3544 16/10/04 3544
90966 [질문] 이번년도 올해의 선수와 월드베스트11 어떻게 예상하세요? [3] 냉면과열무2727 16/10/04 2727
90965 [질문] 서울 용산구 부근 사랑니 뽑을만한 곳 추천 부탁드립니다. [5] 면역결핍2819 16/10/04 2819
90964 [질문] [WOW] 어떤직업이 좋을까요? [19] 아론4606 16/10/04 4606
90963 [질문] 컴퓨터 견적 봐주시면 감사드리겠습니다. [1] 파업2988 16/10/04 2988
90962 [질문] [오버워치] 프로들에 대해 궁급합니다. [4] MoveCrowd2786 16/10/04 2786
90961 [질문] 와인을 배우고 싶습니다. [4] 청학동2335 16/10/04 2335
90960 [질문] 영양가 있는 음식에 대한 질문입니다 ^^; [1] 곰비2413 16/10/04 2413
90959 [질문] 전세보험 안들어도 될까요? [9] wish buRn3256 16/10/04 3256
90958 [질문] 집 가구 배치를 바꾸다가 공간이 조금 남았는데 어떻게 꾸미는게 좋을까요(사진첨부) [12] 쌀이없어요2746 16/10/04 2746
90957 [질문] [WOW] 에메랄드 악몽에서 진행되는 퀘스트가 있나요? [5] 정지연4851 16/10/04 4851
90956 [질문] [오버워치] 이번 개막전 현장예매있나요? 레가르1759 16/10/04 1759
90955 [질문] 아디다스 슈퍼스타 홀로그램?? [4] 네라주리2841 16/10/04 2841
목록 이전 다음
댓글

+ : 최근 1시간내에 달린 댓글
+ : 최근 2시간내에 달린 댓글
맨 위로