무한루프

무한루프

QA

무한루프

본문

$sql_up = " select * from `tbl_nft_backup` ";
$result_up = sql_query($sql_up);

for ($i=0; $row=sql_fetch_array($result_up); $i++) {

     $mb = get_member($row['nft_url']);
     sql_query(" update `tbl_nft_backup` set nft_url = '".$mb['mb_name']."' ");

}

 

이거 user.config.php 에서 돌리는데 어디가 잘못돼서 자꾸 무한루프 걸리는걸까요?

이 질문에 댓글 쓰기 :

답변 3

1. user.config.php 에 코드를넣으면 패이지를 이동할때마다 실행되게 됩니다

   10명이 접속하면 똑 같은 행동을 10번 실행하게 되고 각각 페이지 이동할때마다 또 살행되게 됩니다 

  user.config.php에 들어가서는 안되는 코드입니다

 

2. 맨 처음 nft_url 필드에 아이디가 들어가는지 모드겠지만

   $mb = get_member($row['nft_url']); <--아이디로 이름을 찾아서

   update `tbl_nft_backup` set nft_url = '".$mb['mb_name']."' " <-- 이렇게 해버리면  

    첫번째 레코드 아이디로 모든 레코드의 nft_url에 동일한 이름이 저장되게 되고

    두번째 레코드의 이름이 모든 레코드에 저장되고 , 같은 일이 세번째 네번째....계속 됩니다

 

   페이지 이동이 되면 다음 실행부터는 nft_url필드 값이 아이디가 아니니 이름을 찾을 수가 없고

   따라서 모든 nft_url 에 빈값이 저장되는 쿼리를 레코드 수만큼 실행합니다 

   이와 같은 코드를 접속하는 모든 사람이 실행하게 됩니다

   살인적인 끔찍한 코드입니다

 

도대체 무엇을 하려는 것인가요?

 

 

답변을 작성하시기 전에 로그인 해주세요.
전체 120
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT