>  기사  >  백엔드 개발  >  PHP를 사용하여 데이터베이스를 쿼리하고 결과를 2D 배열로 저장하는 방법

PHP를 사용하여 데이터베이스를 쿼리하고 결과를 2D 배열로 저장하는 방법

PHPz
PHPz원래의
2023-04-27 09:05:12699검색

PHP에서는 일반적으로 SQL 문을 사용하여 데이터베이스의 데이터를 쿼리하고 그 결과가 2차원 배열, 즉 여러 레코드를 포함하는 배열인 경우가 많습니다. 이 기사에서는 PHP 언어를 사용하여 데이터베이스를 쿼리하고 결과를 2차원 배열로 저장하는 방법을 소개합니다.

1. 데이터베이스 연결 설정

데이터베이스를 쿼리하기 전에 먼저 데이터베이스 연결을 설정해야 합니다. 이는 PHP에 내장된 mysqli 또는 PDO 확장을 사용하여 쉽게 수행할 수 있습니다. 다음은 mysqli 확장을 사용하여 연결을 설정하는 샘플 코드입니다.

// 连接数据库
$host = 'localhost';
$user = 'root';
$password = '';
$dbname = 'test';
$conn = new mysqli($host, $user, $password, $dbname);
// 检查连接是否成功
if ($conn->connect_errno) {
    die('连接失败: ' . $conn->connect_error);
}

2. SQL 쿼리문 실행

데이터베이스 연결이 완료된 후, 데이터를 얻기 위해서는 SQL 쿼리문을 실행해야 합니다. 쿼리 문은 유효한 SQL 문일 수 있습니다. 예를 들어 SELECT 문을 사용하여 데이터베이스에서 특정 필드의 값을 가져올 수 있습니다. 다음은 그 예입니다.

//执行查询并存储结果
$sql = "SELECT id, name, age FROM users";
$result = $conn->query($sql);
//检查结果是否为空
if ($result->num_rows > 0) {
    // 存储结果为二维数组
    $data = array();
    while ($row = $result->fetch_assoc()) {
        $data[] = $row;
    }
}

위 코드에서는 mysqli 확장의 query 메소드를 사용하여 SQL 쿼리문을 실행한 후 num_rows 메소드를 사용하여 결과가 비어 있는지 확인합니다. 결과가 비어 있지 않으면 fetch_assoc 메서드를 사용하여 각 데이터 행을 연관 배열에 저장하고 해당 배열을 $data 배열에 추가합니다. 마지막으로 모든 데이터는 $data 배열에 저장됩니다. 지금까지 쿼리 결과를 2차원 배열에 성공적으로 저장했습니다.

3. 쿼리 결과 사용하기

쿼리 결과가 2차원 배열로 저장되면 PHP 언어를 사용하여 작업할 수 있습니다. 예를 들어 배열을 반복하여 각 레코드를 출력할 수 있습니다.

// 遍历数组并输出每条记录
foreach ($data as $row) {
    echo $row['id'] . "\t" . $row['name'] . "\t" . $row['age'] . "\n";
}

위 코드에서는 foreach 루프를 사용하여 $data 배열을 순회하고 각 레코드의 id, name 및 age 필드 값을 출력합니다. 여기서 "t"는 시스템 테이블 문자를 의미하고 "n"은 개행 문자를 나타냅니다.

4. 데이터베이스 연결 종료

데이터베이스 사용 후, 리소스 해제 및 보안 확보를 위해 데이터베이스 연결을 종료해야 합니다. 다음은 그 예입니다.

// 关闭连接
$conn->close();

위 코드에서는 mysqli 확장의 close 메소드를 사용하여 데이터베이스 연결을 닫습니다.

요약

PHP에서 데이터베이스를 쿼리하고 결과를 2차원 배열로 저장하는 것은 매우 간단합니다. 데이터베이스 연결을 설정하고, SQL 쿼리 문을 실행하고, 결과를 2차원 배열로 저장하고, 쿼리 결과를 사용하십시오. PDO 확장과 같은 다른 데이터베이스 확장을 사용하는 경우 유사한 작업을 구현하는 것도 매우 간단합니다.

위 내용은 PHP를 사용하여 데이터베이스를 쿼리하고 결과를 2D 배열로 저장하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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