오늘은 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!