SQL 집계 함수를 통해 추가, 삭제, 수정의 영향을 받는 행 수를 어떻게 구하나요?
추가 조치를 취하기 전에 쿼리에 의해 반환되거나 영향을 받은 행 수를 계산할 수 있는 기능은 일반적으로 결과를 페이지에 표시하거나 생성하려는 경우에 매우 유용합니다. 그러면 영향을 받은 행 수를 가져오는 기능은 어떻게 구현됩니까?
1. SQL 집계 함수 COUNT를 통해 지연된 결과 레코드 수를 계산합니다.
COUNT는 쿼리 또는 부분의 행 수를 반환합니다. 일반적으로 함께 사용되는 DINSTINCT와 동일합니다. SQL의 집계 함수 COUNT는 다양한 데이터베이스에서 널리 지원됩니다!
2. PDOStatement->rowCount() 메서드를 통해 영향을 받은 행 수를 반환합니다.
PDOStatement->rowCount로 가져옵니다. () 메소드 UPDATE, INSERT 또는 DELECTE 쿼리의 영향을 받는 행 수입니다. rowCount() 메소드는 일반적인 PHP 애플리케이션에서는 일반적이지 않지만 PDOStatement->execute를 호출한 후 영향을 받은 행 수를 계산할 수 있습니다.
3. 적용 예시
SQL 집계 함수 COUNT를 통해 쿼리로 반환된 레코드 수를 통계하는 코드는 다음과 같습니다. :
<form action="5.php" name="form1" method="post"> 查询关键字:<input type="text" name="username" id="nr"> <input type="submit" name="Submit" value="查询"> </form> <?php header("Content-Type:text/html; charset=utf-8"); //设置页面的编码格式 if(isset($_POST['Submit']) && $_POST['Submit']=="查询") { $dbms = "mysql"; // 数据库的类型 $dbName ="php_cn"; //使用的数据库名称 $user = "root"; //使用的数据库用户名 $pwd = "root"; //使用的数据库密码 $host = "localhost"; //使用的主机名称 $dsn = "$dbms:host=$host;dbname=$dbName"; try { $dbh = new PDO($dsn, $user, $pwd);//初始化一个PDO对象,就是创建了数据库连接对象$pdo $dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); $sql = "SELECT COUNT(*) FROM user WHERE username = :id";//需要执行的sql语句 $stmt = $dbh->prepare($sql);//准备查询语句 $stmt->bindParam(':id', $_POST['nr'], PDO::PARAM_STR); //执行查询语句,并返回结果集 $result = $stmt->execute(); echo 'There are',$stmt->fetchColumn(),'rows returned.'; }catch (PDOException $e){ echo 'PDO Exception Caught.'; echo 'Error with the database:<br>'; echo 'SQL Query:',$sql; echo 'Error:'.$e->getMessage(); } } ?>
이 인스턴스를 실행하고 텍스트 상자에 쿼리할 데이터베이스 이름을 입력한 후 "Query" 버튼을 클릭하면 아래와 같이 쿼리된 결과의 행 수가 표시됩니다.
참고:
UPDATE 및 DELETE 문을 사용할 때는 언제든지 WHERE 절을 추가해야 합니다. 어떤 경우에도 데이터베이스가 업데이트되거나 테이블에서 삭제될 수 있습니다.
위 내용은 SQL 집계 함수를 통해 추가, 삭제, 수정의 영향을 받는 행 수를 얻는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!