>백엔드 개발 >PHP 문제 >PHP 쿼리 데이터 테이블을 배열로 변환

PHP 쿼리 데이터 테이블을 배열로 변환

WBOY
WBOY원래의
2023-05-19 12:01:37530검색

PHP에서 MySQL을 데이터베이스로 사용할 때 쿼리된 데이터 테이블 데이터를 배열 형식으로 변환해야 하는 경우가 종종 있습니다. 배열은 PHP에서 일반적으로 사용되는 데이터 유형 중 하나이고 쿼리 코드를 작성할 때 데이터 처리 및 변환을 위해 PHP 배열을 사용해야 하는 경우가 많기 때문에 이 방법은 매우 일반적입니다.

아래에서는 MySQL의 쿼리 결과를 PHP 배열 형식으로 변환하는 간단한 방법을 소개합니다.

  1. Mysql_fetch_array 사용

PHP가 mysql 데이터 테이블을 쿼리하고 이를 배열로 변환하는 가장 기본적인 방법은 mysql_fetch_array 함수를 사용하는 것입니다. 이 함수의 기능은 행별 데이터 레코드의 MySQL 쿼리 결과를 PHP 배열 유형 데이터로 변환하는 것입니다. 이 함수의 구문은 다음과 같습니다.

mysql_fetch_array(resource $result [, int $result_type =  MYSQL_BOTH ])

그 중 첫 번째 매개변수는 MySQL 쿼리 결과 세트이고, 두 번째 매개변수는 반환해야 하는 배열 유형을 나타내는 선택적 매개변수입니다. MYSQL_BOTH는 연관 배열과 숫자 배열을 모두 반환한다는 의미입니다. 또한 각각 연관 배열 또는 숫자 배열만 반환하도록 MYSQL_ASSOC 및 MYSQL_NUM으로 설정할 수도 있습니다.

샘플 코드는 다음과 같습니다.

// 连接数据库
$conn = mysql_connect('localhost','root','');
mysql_query("set names 'utf8'");
mysql_select_db('test');

//查询数据表
$sql = "select * from student";
$result = mysql_query($sql);

//转换为数组
$arr = array();
while($row = mysql_fetch_array($result,MYSQL_ASSOC)){
    $arr[] = $row;
}
//输出结果
print_r($arr);

위 코드에서는 먼저 데이터베이스에 연결한 다음 학생 데이터 테이블의 모든 데이터를 쿼리하고 마지막으로 while 루프를 사용하여 모든 쿼리 결과를 순회하고 각각을 추가했습니다. 결과는 배열에 전달되고 마지막으로 전체 배열이 출력됩니다.

2. PDO를 사용하여 배열 쿼리 및 변환

또 다른 방법은 PHP의 PDO(PHP 데이터 개체) 확장 라이브러리를 사용하여 데이터베이스를 쿼리하고 결과 집합을 얻는 것입니다. PDO는 보다 유연하고 안전한 데이터베이스 운영 방법을 제공합니다. PDO를 통해 데이터베이스를 쿼리하면 SQL 삽입과 같은 공격을 효과적으로 방지할 수 있습니다.

MySQL을 쿼리하는 PDO의 예는 다음과 같습니다.

//连接数据库
$dsn = 'mysql:dbname=test;host=localhost';
$username = 'root';
$password = '';
try {
    $dbh = new PDO($dsn, $username, $password,array(PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES utf8"));
} catch (PDOException $e) {
    echo 'Connection failed: ' . $e->getMessage();
}

//查询数据表
$sql = "select * from student";
$sth = $dbh->query($sql);

//转换为数组
$arr = $sth->fetchAll(PDO::FETCH_ASSOC);
print_r($arr);

위의 예에서는 먼저 MySQL 데이터베이스에 연결을 설정한 다음 PDO(PHP Data Object)를 사용하여 학생 데이터 테이블의 모든 데이터를 쿼리하고 이를 사용했습니다. fetchAll 함수를 사용하여 모든 결과를 얻습니다. 데이터를 설정하고 마지막으로 배열을 출력합니다.

이 예제에서 데이터 테이블을 쿼리하고 이를 배열로 변환하는 코드는 비교적 간단하며, PDO 방법이 mysql_fetch_array 방법보다 더 안전하고 안정적이라는 것을 알 수 있습니다.

요약:

위의 두 가지 방법을 사용하면 MySQL의 데이터 테이블 쿼리 결과를 PHP 배열 형식으로 변환할 수 있습니다. 방법 1은 MySQL 확장 라이브러리 기능에 적합하며, 더 빠르고 안전한 PDO 작업 방법을 지원하지 않는다는 단점이 있습니다. PDO 방법은 더 유연하고 안전하며 SQL 주입 공격을 방지할 수 있는 장점이 있으며 타협 솔루션입니다. 사용방법의 선택은 실제 시나리오를 토대로 판단되어야 합니다.

위 내용은 PHP 쿼리 데이터 테이블을 배열로 변환의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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