라이브러리
[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를 사용해야 합니다.
-
- 나우호스팅 @pcs8404
-
호스팅포럼 화이팅!
댓글목록
등록된 댓글이 없습니다.