
sqlsrv_get_field 함수를 사용하여 필드값을 가져올 때 오류가 발생하는 경우는 주로 두 가지 상황이 있습니다.
1. sqlsrv_query 함수를 사용하여 쿼리를 실행하지 않은 경우: sqlsrv_get_field 함수를 사용하기 전에 sqlsrv_query 함수를 사용하여 쿼리를 실행해야 합니다. 쿼리를 실행하지 않은 경우 sqlsrv_get_field 함수를 사용할 때 오류가 발생합니다.
2. sqlsrv_query 함수를 사용하여 쿼리를 실행했지만, sqlsrv_next_result 함수를 사용하여 결과를 이동하지 않은 경우: sqlsrv_query 함수를 사용하여 쿼리를 실행한 후 sqlsrv_next_result 함수를 사용하여 결과를 이동하지 않은 경우 sqlsrv_get_field 함수를 사용할 때 오류가 발생합니다.
이러한 오류를 해결하기 위해서는 sqlsrv_query 함수를 사용하여 쿼리를 실행한 후 sqlsrv_next_result 함수를 사용하여 결과를 이동하고, sqlsrv_get_field 함수를 사용하여 필드값을 가져올 수 있습니다.
예를 들어, 다음과 같이 쿼리를 실행하고 필드값을 가져올 수 있습니다.
#hostingforum.kr
php
$serverName = "서버 이름";
$connectionInfo = array("Database"=>"데이터베이스 이름", "UID"=>"사용자 아이디", "PWD"=>"비밀번호");
$conn = sqlsrv_connect($serverName, $connectionInfo);
if ($conn === false) {
echo "연결 실패";
exit;
}
$query = "SELECT * FROM 테이블 이름";
$stmt = sqlsrv_query($conn, $query);
if ($stmt === false) {
echo "쿼리 실행 실패";
exit;
}
while ($row = sqlsrv_fetch_array($stmt)) {
$field1 = sqlsrv_get_field($stmt, 0);
$field2 = sqlsrv_get_field($stmt, 1);
// ...
}
sqlsrv_free_stmt($stmt);
sqlsrv_close($conn);
위의 예제에서 sqlsrv_query 함수를 사용하여 쿼리를 실행한 후 sqlsrv_next_result 함수를 사용하여 결과를 이동하지 않았습니다. 따라서 sqlsrv_get_field 함수를 사용할 때 오류가 발생하지 않습니다.
2025-04-27 16:23