PHP
* PHP foreach vs mysqli_fetch 비교
큰세상2000
2022. 1. 12. 15:39
반응형
● mysqli_fetch ~ while : 1번 loop 돌리면 바로 사용 불가능
$sql = "SELECT seq, name FROM test_names";
$result_name = mysqli_query($dbcon, $sql);
$result_name_clone = $result_name;
echo ('<br/>DB 검색후 이름명 1차 출력 : mysqli_fetch result_name 1st ▼ <br/>');
while ($row = mysqli_fetch_assoc($result_name)) {
print_r($row);
echo '<br>';
}
DB 검색후 이름명 1차 출력 : mysqli_fetch result_name 1st ▼
Array ( [seq] => 1 [name] => lee )
Array ( [seq] => 2 [name] => kim )
echo ('<br/>DB 검색없이 이름명 2차 출력 : mysqli_fetch result_name 2nd ▼ <br/>');
while ($row2 = mysqli_fetch_assoc($result_name)) {
print_r($row2);
echo '<br>';
}
DB 검색없이 이름명 2차 출력 : mysqli_fetch result_name 2nd ▼
< 결과없음 >
echo ('<br/>DB 검색없이 이름명 복사본 출력 : mysqli_fetch result_name clone ▼ <br/>');
while ($row3 = mysqli_fetch_assoc($result_name_clone)) {
print_r($row3);
echo '<br>';
}
DB 검색없이 이름명 복사본 출력 : mysqli_fetch result_name clone ▼
< 결과없음 >
● foreach : 1번 loop 돌려도 언제든지 재사용
$sql = "SELECT seq, name FROM test_nation";
$result_nation = mysqli_query($dbcon, $sql);
$result_nation_clone = $result_nation;
echo ('<br/>DB 검색후 나라명 1차 출력 : foreach result_nation 1st ▼ <br/>');
foreach ($result_nation as $row4) {
echo $row4['seq'] . ', name : ' . $row4['name'] . '<br>';
}
DB 검색후 나라명 1차 출력 : foreach result_nation 1st ▼
1, name : korea
2, name : japan
echo ('<br/>DB 검색없이 나라명 2차 출력 : foreach result_nation 2nd ▼ <br/>');
foreach ($result_nation as $row5) {
echo $row5['seq'] . ', name : ' . $row5['name'] . '<br>';
}
DB 검색없이 나라명 2차 출력 : mysqli_fetch result_nation 2st ▼
1, name : korea
2, name : japan
echo ('<br/>DB 검색없이 나라명 복사본 출력 : foreach result_nation clone ▼ <br/>');
foreach ($result_nation as $row6) {
echo $row6['seq'] . ', name : ' . $row6['name'] . '<br>';
}
DB 검색없이 나라명 복사본 출력 : mysqli_fetch result_nation clone ▼
1, name : lee
2, name : kim
echo ('<br/>DB 검색없이 처음 검색한 이름명 출력 : foreach result_name ▼ <br/>');
foreach ($result_name as $row7) {
echo $row7['seq'] . ', name : ' . $row7['name'] . '<br>';
}
DB 검색없이 처음 검색한 이름명 출력 : foreach result_name ▼
1, name : lee
2, name : kim
● mysqli_fetch 재사용 : mysqli_data_seek 으로 레코드셋 처음으로 이동
// 레코드셋 처음으로 이동하기
mysqli_data_seek($result_name, 0);
echo ('<br/>DB 검색없이 이름명 출력 3rd : mysqli_fetch result_name 3rd ▼ <br/>');
while ($row8 = mysqli_fetch_assoc($result_name)) {
print_r($row8);
echo '<br>';
}
DB 검색없이 이름명 출력 3rd : mysqli_fetch result_set 3rd ▼
Array ( [seq] => 1 [name] => lee )
Array ( [seq] => 2 [name] => kim )
반응형