>백엔드 개발 >PHP 문제 >쿼리 결과를 PHP에서 배열로 변환하는 방법

쿼리 결과를 PHP에서 배열로 변환하는 방법

PHPz
PHPz원래의
2023-04-26 14:29:431144검색

오늘은 PHP에서 쿼리 결과를 배열로 변환하는 방법을 여러분과 공유하고 싶습니다. 웹 개발에서는 데이터베이스에서 데이터를 가져와 웹 페이지에 표시해야 하는 경우가 많습니다. PHP와 MySQL을 사용하는 것은 매우 일반적인 선택입니다. 쿼리를 실행하고 결과를 얻을 때 일반적으로 여러 레코드가 포함된 결과 집합 개체를 얻습니다. 이 데이터의 처리 및 조작을 용이하게 하기 위해 이를 배열로 변환할 수 있습니다.

PHP에서는 mysqli 확장과 PDO 확장을 사용하여 MySQL 데이터베이스에 연결할 수 있습니다. 두 확장 모두 쿼리 결과를 배열로 변환하는 방법을 제공합니다. 이번 글에서는 이 두 가지 방법을 각각 소개하겠습니다.

1. mysqli 확장을 사용하여 쿼리 결과를 배열로 변환하세요.

mysqli는 PHP 5 이상에 권장되는 MySQL 데이터베이스 확장입니다. MySQL 데이터베이스 연결, SQL 쿼리 실행, 결과 처리 등을 포함한 일련의 객체 지향 인터페이스를 제공합니다. 그 중 mysqli_result 클래스는 결과 집합을 나타내는 객체이다. mysqli_result 클래스의 fetch_array 메소드를 호출하여 결과 세트를 배열로 변환할 수 있습니다.

fetch_array 메서드는 반환할 배열 유형을 나타내는 매개변수를 허용합니다. 기본적으로 숫자와 관련 인덱스가 포함된 배열을 반환합니다. 전달된 매개변수에 MYSQLI_ASSOC, MYSQLI_NUM 또는 MYSQLI_BOTH 상수를 사용하여 반환할 배열 유형을 지정할 수 있습니다.

예:

// 连接数据库
$conn = new mysqli('localhost', 'username', 'password', 'database');

// 执行查询,获取结果集对象
$result = $conn->query('SELECT * FROM users');

// 将结果集转换为数组
$rows = $result->fetch_array(MYSQLI_ASSOC);

// 输出数组
print_r($rows);

이 코드는 쿼리 결과의 첫 번째 데이터 행을 출력합니다. 모든 데이터 행을 출력하려면 while 루프를 사용할 수 있습니다.

// 连接数据库
$conn = new mysqli('localhost', 'username', 'password', 'database');

// 执行查询,获取结果集对象
$result = $conn->query('SELECT * FROM users');

// 遍历结果集,将每行数据转换为数组并输出
while ($row = $result->fetch_array(MYSQLI_ASSOC)) {
    print_r($row);
}

2. PDO 확장을 사용하여 쿼리 결과를 배열로 변환

PDO는 PHP 5.1 이상에서 제공되는 데이터베이스 확장입니다. MySQL, PostgreSQL, SQLite, Oracle 등을 포함한 다양한 데이터베이스를 지원합니다. PDO 확장은 SQL 쿼리를 실행한 후 결과 집합을 나타내는 PDOStatement 개체를 제공합니다. 개체의 fetch 메서드를 사용하여 결과 집합을 배열로 변환할 수 있습니다.

fetch 메서드는 반환할 배열 유형을 나타내는 매개변수도 허용합니다. 기본적으로 숫자와 관련 인덱스가 포함된 배열을 반환합니다. 전달된 매개변수에 PDO::FETCH_ASSOC, PDO::FETCH_NUM 또는 PDO::FETCH_BOTH 상수를 사용하여 반환할 배열 유형을 지정할 수 있습니다.

예는 다음과 같습니다.

// 连接数据库
$dsn = 'mysql:host=localhost;dbname=database';
$username = 'username';
$password = 'password';
$conn = new PDO($dsn, $username, $password);

// 执行查询,获取 PDOStatement 对象
$stmt = $conn->query('SELECT * FROM users');

// 将结果集转换为数组
$rows = $stmt->fetch(PDO::FETCH_ASSOC);

// 输出数组
print_r($rows);

마찬가지로 모든 데이터 행을 출력하려면 while 루프를 사용할 수 있습니다.

// 连接数据库
$dsn = 'mysql:host=localhost;dbname=database';
$username = 'username';
$password = 'password';
$conn = new PDO($dsn, $username, $password);

// 执行查询,获取 PDOStatement 对象
$stmt = $conn->query('SELECT * FROM users');

// 遍历结果集,将每行数据转换为数组并输出
while ($row = $stmt->fetch(PDO::FETCH_ASSOC)) {
    print_r($row);
}

요약

여기까지 mysqli 및 PDO 확장을 사용하여 다음을 수행하는 방법을 배웠습니다. 쿼리 결과를 배열로 변환합니다. 실제 개발에서는 일반적으로 이 프로세스를 단순화하기 위해 프레임워크나 ORM(예: Laravel, Doctrine 등)을 사용합니다. 하지만 이 기본 구현을 이해하는 것은 웹 개발의 기본 원칙을 이해하는 데 매우 중요합니다. 이 기사가 독자들에게 도움이 되기를 바랍니다.

위 내용은 쿼리 결과를 PHP에서 배열로 변환하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.