
PDOStatement::columnCount 메서드는 쿼리 결과의 컬럼 수를 반환합니다. 하지만 이 메서드는 쿼리 결과가 비어있을 때 -1을 반환하는 이유는 PDOStatement 객체가 아직 쿼리를 실행하지 않았을 때입니다.
이 메서드를 사용하기 전에 PDOStatement 객체가 쿼리를 실행한 후에 사용해야 합니다. 쿼리를 실행한 후에 columnCount 메서드를 사용하면 쿼리 결과의 컬럼 수를 정확하게 반환합니다.
예를 들어, 다음과 같은 코드를 사용할 수 있습니다.
#hostingforum.kr
php
$stmt = $pdo->prepare('SELECT * FROM 테이블명');
$stmt->execute();
if ($stmt->columnCount() > 0) {
// 쿼리 결과가 비어있지 않습니다.
} else {
// 쿼리 결과가 비어있습니다.
}
또한, 쿼리 결과가 비어있을 때 columnCount 메서드가 -1을 반환하는 것은 PHP의 PDO 확장의 버그가 아닙니다. 이 메서드는 PDO 표준에 따라 작동합니다.
2025-03-18 20:18