무한루프

무한루프

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 에 빈값이 저장되는 쿼리를 레코드 수만큼 실행합니다 

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

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

 

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

 

 

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

회원로그인

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