:: 게시판
:: 이전 게시판
|
- PGR21 관련된 질문 및 건의는 [건의 게시판]을 이용바랍니다.
- (2013년 3월 이전) 오래된 질문글은 [이전 질문 게시판]에 있습니다. 통합 규정을 준수해 주십시오. (2015.12.25.)
통합규정 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 하는지) 알 수 없어서 데이터가 많아서 먹통이 되는지, 아니면 위처럼 커넥터 문제인지 일단 커넥터를 먼저 수정해서 돌려보셔야 할 것 같습니다. 쿼리 자체는 큰 문제가 없어 보입니다.
|