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
수정 아이콘
답변 감사합니다 :)
목록 삭게로! 맨위로
번호 제목 이름 날짜 조회
93292 [질문] 정권이 망한 나라를 다룬 책 추천좀 해주세요. [6] 문앞의늑대1588 16/11/17 1588
93291 [질문] 85만원 조립PC 견적 체크 부탁드립니다. [11] 흥엉이2923 16/11/17 2923
93290 [질문] 토렌트 다운 완료후 파일이 사라집니다ㅠㅠ [5] 루체른15867 16/11/17 15867
93289 [질문] 배에서 짜르르(?)한 느낌이 듭니다. [4] 굼시2297 16/11/17 2297
93288 [질문] 지난주 무한도전 오프닝 박명수 옹 옷 어디 제품일까요?? [2] 아린어린이2221 16/11/17 2221
93287 [질문] 오피스텔/원룸 사시는 분들 이불 같은거 먼지 털 때 어떻게 하시나요? [6] 삭제됨3045 16/11/17 3045
93286 [질문] 그림 그리는 용도의 가성비 좋은 패드 [3] 아이러브스타2697 16/11/17 2697
93285 [질문] 현대카드 슈퍼콘서트 예매 비법 아시는 분 답변 부탁드립니다. [8] 박용택5040 16/11/17 5040
93284 [질문] 조립PC 견적을 냈는데 평가좀 부탁드려요 :) [6] 오퍼튜니티2517 16/11/17 2517
93282 [질문] 의학 논문 그래프 질문입니다. [8] 무료통화2654 16/11/17 2654
93281 [질문] 배드민턴 레슨을 들어보려 합니다 [3] 복말전도2891 16/11/17 2891
93280 [질문] 기계 설계나 도면에 대한 책이 있을까요? [8] Fysta2473 16/11/17 2473
93279 [질문] 이직/취업시 영어성적 필수일까요? [3] 칼퇴추구자2731 16/11/17 2731
93278 [질문] 조립 PC 견적 평가 부탁드립니다~ [7] 하후돈2111 16/11/17 2111
93277 [질문] 레고를 중고로 판매하려고 하는데요... [3] 모리건 앤슬랜드5848 16/11/17 5848
93276 [질문] 키보드가 안먹어요 [1] 완성형폭풍저그가되자1458 16/11/17 1458
93275 [질문] 제 상황(신혼부부)에서 적정 주거비용에 대한 조언을 구합니다. [13] 두산베어스3046 16/11/17 3046
93274 [질문] 기업의 신용등급은 어디서 확인할 수 있나요? [4] Genius2281 16/11/17 2281
93273 [질문] 패딩은 언제 싼가요? [5] 챙이4934 16/11/17 4934
93272 [질문] 평가원 모의고사 성적표도 재발급가능한가요? [2] cs13046 16/11/17 13046
93271 [질문] 부산에서 서울로 사올만한 음식 있을까요? [16] 손연재8039 16/11/17 8039
93270 [질문] 왼손 마우스 쓰시는 분들 ctrl cv 어떻게 하시나요? [4] cute.doggiestyle2385 16/11/17 2385
93269 [질문] gta5 차량패치에 관해 질문좀 할게요 [3] godspeed6321 16/11/17 6321
목록 이전 다음
댓글

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