MySQL PHP에서 행 수

Subodh Poudel 2023년1월30일
  1. PDO의fetchColumn()메서드를 사용하여 MySQL 테이블의 총 행 수 계산
  2. 절차 적 방법을 사용하여mysqli_num_rows()함수를 사용하여 MySQL 테이블의 행 수 계산
  3. 객체 지향 방식을 사용하여num_rows속성을 사용하여 테이블의 행 수 계산
MySQL PHP에서 행 수

fetchColumn()COUNT()메소드를 사용하여 PHP의 MySQL 테이블에서 모든 행을 계산하는 메소드를 소개합니다. fetchColumn()함수는 PDO (PHP Data Objects)에 의해 제공되며COUNT()메소드는 SQL 함수입니다. PDO는 데이터베이스와 백엔드를 연결하는 객체 지향 방식입니다. 이 방법은 PDO가 12 개의 서로 다른 데이터베이스 시스템과 호환되기 때문에 유연합니다.

mysqli_num_rows()함수를 사용하여 테이블에서 모든 행을 계산하는 또 다른 방법을 보여줍니다. 이 메소드는 객체 지향 방식을 사용하여mysqli()함수를 사용하여 서버와 데이터베이스 연결을 설정합니다. 그러나 나머지 프로세스는 절차 적으로 수행됩니다.

PHP에서num_rows속성을 사용하여 테이블의 모든 행을 계산하는 방법을 보여줍니다. 이 방법은 완전한 객체 지향 관행을 따라 데이터베이스를 연결하고 총 행 수를 계산합니다. 이 방법에서prepared문을 사용하면 SQL 삽입의 취약성으로부터 안전하게 보호됩니다.

PDO의fetchColumn()메서드를 사용하여 MySQL 테이블의 총 행 수 계산

PDO는 데이터베이스를 PHP 서버와 연결하는 객체 지향 방법 중 하나입니다. PDO에서 사용할 수있는fetchColumn()메소드를 사용하여 테이블의 행을 계산할 수 있습니다. 먼저 데이터베이스를 만들고 테이블을 데이터로 채 웁니다. 그런 다음 올바른 호스트, 데이터베이스 사용자 이름, 데이터베이스 암호 및 데이터베이스 이름을 사용하여 데이터베이스 연결을 설정합니다. 연결을 저장하기 위해 PDO 개체의 인스턴스를 사용합니다. 데이터베이스 연결이 작동하는지 확인한 후COUNT()함수를 사용하여 SQL 문을 쿼리하고 실행합니다. COUNT()함수는*를 지정된 테이블의 모든 행을 계산하는 매개 변수로 사용합니다. 그런 다음fetchColumn()메소드를 사용하여 테이블의 행 수를 표시합니다.

아래 지침은 서버와의 데이터베이스 연결이 설정된 것으로 가정합니다. 데이터베이스의 테이블에는 두 개의 행이 있습니다.

MariaDB [oop]> select * from users;
+----+-----------+------------+------------+
| id | firstname | lastname   | dob        |
+----+-----------+------------+------------+
|  1 | Dan    	 |  James     | 1998-08-23 |
|  2 | Dean   	 | Henderson  | 2000-03-30 |
+----+-----------+----------+--------------+
2 rows in set (0.003 sec)

예를 들어Test.php에서DB클래스를 상속하는Test라는 클래스를 작성합니다. 클래스 안에 공개 함수getRowsNumber()를 작성합니다. 변수$sql을 할당하고SELECT문을 사용하여 쿼리를 작성하여users테이블에서 모든 항목을 선택합니다. SELECT문에서COUNT(*)를 사용하여 행 수를 계산합니다. connect함수를 사용하여DB.php에서 연결을 가져오고query()함수를 사용하여 위에서 작성한 SQL 명령을 쿼리합니다. 이러한 작업을$stmt변수에 할당합니다. $stmt변수를 사용하여fetchColumn()메소드를 호출하고 결과를 표시합니다.

아래 예에서 수퍼 클래스DB에는 데이터베이스 연결을 유지하는connect()메소드가 있습니다. getRowsNumber()함수는 다음과 같이 php 파일에서 호출됩니다.

$testObj = new Test();
$testObj->getRowsNumber()

예제 코드 :

# php 7.*
<?php
class Test extends DB {
    public function getRowsNumber() {
        $sql = "SELECT COUNT(*) FROM users";
        $stmt = $this->connect()->query($sql);
        $count = $stmt->fetchColumn();
        print $count;
    }
}

출력:

The total number of rows is: 2

절차 적 방법을 사용하여mysqli_num_rows()함수를 사용하여 MySQL 테이블의 행 수 계산

PHP에서mysqli_num_rows()함수를 사용하여 MySQL 테이블의 행을 계산할 수 있습니다. 데이터베이스와 PHP 서버를 연결하기 위해mysqli()함수의 객체를 만들 수 있습니다. 이 함수는 호스트 이름, 사용자 이름, 암호 및 데이터베이스 이름을 매개 변수로 사용합니다. 테이블에서 모든 행을 선택하는 SQL 문을 작성합니다. mysqli_query()함수를 사용하여 데이터베이스 연결을 사용하고 쿼리를 실행합니다. 그런 다음mysql_num_rows()함수를 사용하여 행 수를 계산하고 표시합니다.

아래 예에서는 첫 번째 방법에서와 동일한 데이터베이스, 동일한 테이블 및 테이블의 동일한 데이터를 사용합니다.

예를 들어 호스트 이름, 사용자 이름, 암호 및 데이터베이스 이름을 변수$host,$username,$password$database에 각각 할당합니다. new키워드를 사용하여mysqli()함수의 객체를 생성하고 변수를 함수의 매개 변수로 전달합니다. $conn변수에 개체 값을 할당합니다. $sql변수의users테이블에서 모든 항목을 선택하는 SQL 쿼리를 작성합니다. $result변수를 사용하여$conn$sql변수를받는mysqli_query()함수를 저장합니다. if조건을 사용하여$result변수의 부울 값을 확인하십시오. if조건 내에서$request변수를 매개 변수로 사용하여mysqli_num_rows()를 사용하고$rowcount변수에 할당합니다. $rowcount변수를 인쇄합니다.

코드 예 :

#php 7.x
<?php
$conn = new mysqli($host, $username, $password, $database);
$sql = "SELECT * FROM users";
if ($result=mysqli_query($conn,$sql)) {
    $rowcount=mysqli_num_rows($result);
    echo "The total number of rows are: ".$rowcount; 
}
?>

출력:

The total number of rows are: 2

객체 지향 방식을 사용하여num_rows속성을 사용하여 테이블의 행 수 계산

PHP에서num_rows속성을 사용하여 MySQL 테이블의 행 수를 계산할 수 있습니다. 이 접근 방식은 객체 지향 방법을 사용합니다. 이 방법은 데이터베이스 연결을 만들고 SQL 쿼리를 작성하는 두 번째 방법과 매우 유사합니다. 준비된 명령문의 사용은이 방법이 두 번째 방법과 다릅니다. prepare()함수를 사용하여 준비된 문을 만들고,execute()함수를 사용하여 준비된 문을 실행하고store_result()함수를 사용하여 결과를 저장합니다.

예를 들어 호스트 이름, 사용자 이름, 암호 및 데이터베이스 이름을 변수$host,$username,$password$database에 각각 할당합니다. new키워드를 사용하여mysqli()함수의 객체를 생성하고 변수를 함수의 매개 변수로 전달합니다. $conn변수에 개체 값을 할당합니다. $sql변수의users테이블에서 모든 항목을 선택하는 SQL 쿼리를 작성합니다.

변수$stmt를 사용하여 준비된 명령문을 저장하십시오. $conn 변하기 쉬운을 사용하여sql변수를 매개 변수로 사용하는prepare()함수를 호출하십시오. if조건을 사용하여$stmt변수의 부울 값을 확인합니다. if조건 내에서$stmt변수를 사용하여execute()함수를 호출 한 다음store_result()함수를 호출합니다. 그런 다음num_rows속성을 호출하고 인쇄합니다.

예제 코드 :

#php 7.x
<?php
$conn = new mysqli($host, $username, $password, $database);
$sql = "SELECT * FROM users";
if ($stmt = $conn->prepare($sql)) {
    $stmt->execute();
    $stmt->store_result();
    printf("Number of rows: %d.\n", $stmt->num_rows);
}
?>

출력:

Number of rows: 2.
Subodh Poudel avatar Subodh Poudel avatar

Subodh is a proactive software engineer, specialized in fintech industry and a writer who loves to express his software development learnings and set of skills through blogs and articles.

LinkedIn

관련 문장 - PHP MySQL