라이브러리

[PHP] PDOStatement::rowCount - 마지막 SQL 문에 영향을 받은 행 수를 반환합니다.




PDOStatement::rowCount


PDOStatement::rowCount는 PDOStatement 객체의 행 수를 반환하는 메서드입니다. 이 메서드는 SELECT 쿼리에서만 사용할 수 있으며, INSERT, UPDATE, DELETE 쿼리에서는 사용할 수 없습니다.

사용 방법


PDOStatement::rowCount를 사용하려면 PDOStatement 객체를 생성하고, 쿼리를 실행한 후에 사용할 수 있습니다.

# 예제 1: SELECT 쿼리에서 rowCount 사용하기


#hostingforum.kr
php

// PDO 연결 설정

$dsn = 'mysql:host=localhost;dbname=mydb';

$username = 'myuser';

$password = 'mypassword';



try {

    $pdo = new PDO($dsn, $username, $password);

    $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

} catch (PDOException $e) {

    echo 'Connection failed: ' . $e->getMessage();

    exit;

}



// SELECT 쿼리 실행

$stmt = $pdo->prepare('SELECT * FROM users');

$stmt->execute();



// rowCount 사용

echo '쿼리 결과의 행 수: ' . $stmt->rowCount() . "
";



// 결과 출력

while ($row = $stmt->fetch()) {

    echo $row['id'] . ' ' . $row['name'] . "
";

}



# 예제 2: INSERT 쿼리에서 rowCount 사용하기 (실행되지 않음)


#hostingforum.kr
php

// PDO 연결 설정

$dsn = 'mysql:host=localhost;dbname=mydb';

$username = 'myuser';

$password = 'mypassword';



try {

    $pdo = new PDO($dsn, $username, $password);

    $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

} catch (PDOException $e) {

    echo 'Connection failed: ' . $e->getMessage();

    exit;

}



// INSERT 쿼리 실행

$stmt = $pdo->prepare('INSERT INTO users (name, email) VALUES (?, ?)');

$stmt->execute(['John Doe', 'john@example.com']);



// rowCount 사용 (실행되지 않음)

echo '쿼리 결과의 행 수: ' . $stmt->rowCount() . "
";



# 예제 3: UPDATE 쿼리에서 rowCount 사용하기 (실행되지 않음)


#hostingforum.kr
php

// PDO 연결 설정

$dsn = 'mysql:host=localhost;dbname=mydb';

$username = 'myuser';

$password = 'mypassword';



try {

    $pdo = new PDO($dsn, $username, $password);

    $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

} catch (PDOException $e) {

    echo 'Connection failed: ' . $e->getMessage();

    exit;

}



// UPDATE 쿼리 실행

$stmt = $pdo->prepare('UPDATE users SET name = ? WHERE id = ?');

$stmt->execute(['Jane Doe', 1]);



// rowCount 사용 (실행되지 않음)

echo '쿼리 결과의 행 수: ' . $stmt->rowCount() . "
";



# 예제 4: DELETE 쿼리에서 rowCount 사용하기 (실행되지 않음)


#hostingforum.kr
php

// PDO 연결 설정

$dsn = 'mysql:host=localhost;dbname=mydb';

$username = 'myuser';

$password = 'mypassword';



try {

    $pdo = new PDO($dsn, $username, $password);

    $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

} catch (PDOException $e) {

    echo 'Connection failed: ' . $e->getMessage();

    exit;

}



// DELETE 쿼리 실행

$stmt = $pdo->prepare('DELETE FROM users WHERE id = ?');

$stmt->execute([1]);



// rowCount 사용 (실행되지 않음)

echo '쿼리 결과의 행 수: ' . $stmt->rowCount() . "
";



결론


PDOStatement::rowCount는 SELECT 쿼리에서만 사용할 수 있으며, INSERT, UPDATE, DELETE 쿼리에서는 사용할 수 없습니다. 또한, 쿼리 결과의 행 수를 반환하기 때문에, 쿼리 결과를 처리하기 전에 rowCount를 사용해야 합니다.
  • profile_image
    나우호스팅 @pcs8404 

    호스팅포럼 화이팅!

    댓글목록

    등록된 댓글이 없습니다.

  • 전체 10,077건 / 335 페이지

검색

게시물 검색