$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 에 빈값이 저장되는 쿼리를 레코드 수만큼 실행합니다
이와 같은 코드를 접속하는 모든 사람이 실행하게 됩니다
살인적인 끔찍한 코드입니다
도대체 무엇을 하려는 것인가요?
답변을 작성하려면 로그인이 필요합니다.