
MySQLi_STMT의 data_seek 메서드는 커서의 위치를 0부터 시작하는 인덱스로 이동시킵니다. 커서의 이전 위치를 삭제하는 이유는 MySQLi_STMT이 내부적으로 버퍼를 사용하기 때문입니다. 버퍼는 데이터를 임시로 저장하는 영역으로, 커서의 이전 위치를 삭제함으로써 버퍼의 크기를 최소화할 수 있습니다.
커서의 이전 위치를 유지하는 방법은 없습니다. MySQLi_STMT은 커서의 이전 위치를 삭제하고, 새로운 위치로 커서를 이동시킵니다. 그러나 커서의 이전 위치를 기억하고 싶다면, 커서의 위치를 기록한 후 data_seek 메서드를 호출할 수 있습니다. 예를 들어, 커서의 위치가 5인 상태에서 커서의 이전 위치를 기록한 후 data_seek 메서드를 3으로 호출하면 커서의 위치는 3이 됩니다. 커서의 이전 위치를 기록한 변수를 통해 커서의 이전 위치를 기억할 수 있습니다.
예시:
#hostingforum.kr
php
$stmt = $mysqli->prepare("SELECT * FROM 테이전");
$stmt->execute();
$stmt->bind_result($field1, $field2);
// 커서의 위치를 기록
$prev_position = $stmt->current();
// 커서의 위치를 3으로 이동
$stmt->data_seek(3);
// 커서의 이전 위치를 기록한 변수를 통해 커서의 이전 위치를 기억
echo "커서의 이전 위치: $prev_position";
위 예시에서 커서의 이전 위치를 기록한 변수를 통해 커서의 이전 위치를 기억할 수 있습니다.
2025-04-29 17:29