
해당 오류는 sqlsrv_close() 함수를 호출하기 전에 sqlsrv_connect() 함수를 호출하지 않았을 때 발생하는 오류가 아닙니다.
sqlsrv_close() 함수를 호출하기 전에 sqlsrv_connect() 함수를 호출했더라도 오류가 발생할 수 있는 이유는 sqlsrv_close() 함수를 호출하기 전에 sqlsrv_free_stmt() 함수를 호출하지 않았을 때 발생하는 오류입니다.
sqlsrv_free_stmt() 함수를 호출하여 연결된 문(statement)을 해제한 후 sqlsrv_close() 함수를 호출해 주시면 오류가 발생하지 않습니다.
예를 들어, 다음과 같이 코드를 작성할 수 있습니다.
#hostingforum.kr
php
$server = '서버주소';
$dbname = '데이터베이스명';
$username = '사용자명';
$password = '비밀번호';
$conn = sqlsrv_connect($server, array(
'Database' => $dbname,
'UID' => $username,
'PWD' => $password
));
if ($conn === false) {
die(print_r(sqlsrv_errors(), true));
}
$stmt = sqlsrv_query($conn, 'SELECT * FROM 테이블명');
if ($stmt === false) {
die(print_r(sqlsrv_errors(), true));
}
while ($row = sqlsrv_fetch_array($stmt)) {
// 데이터 처리
}
sqlsrv_free_stmt($stmt);
sqlsrv_close($conn);
위의 코드에서 sqlsrv_free_stmt() 함수를 호출하여 연결된 문(statement)을 해제한 후 sqlsrv_close() 함수를 호출하면 오류가 발생하지 않습니다.
2025-03-27 15:59