현재 위치: > 최신 기사 목록> 데이터베이스 쿼리 결과를 Field => 값 형식으로 매핑하기위한 팁

데이터베이스 쿼리 결과를 Field => 값 형식으로 매핑하기위한 팁

M66 2025-06-07

PHP에서 PDO 또는 MySQLI는 일반적으로 데이터베이스를 작동하는 데 사용됩니다. PDO를 예로 들어 데이터베이스 쿼리를 수행하는 방법을 보여 드리겠습니다.

 <?php
try {
    // 데이터베이스 연결을 만듭니다
    $pdo = new PDO('mysql:host=localhost;dbname=testdb', 'username', 'password');
    $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

    // 쿼리를 실행하십시오
    $sql = "SELECT id, name, email FROM users";
    $stmt = $pdo->query($sql);

    // 모든 쿼리 결과를 얻으십시오
    $results = $stmt->fetchAll(PDO::FETCH_ASSOC);

    print_r($results);
} catch (PDOException $e) {
    echo '연결이 실패했습니다: ' . $e->getMessage();
}
?>

위의 코드에서는 사용자 테이블의 ID , 이름이메일 필드를 쿼리하고 연관 배열 형식으로 쿼리 결과를 반환합니다.

2. 쿼리 결과를 필드 => 값 형식으로 매핑합니다.

쿼리 결과가 다음과 같습니다.

 Array
(
    [0] => Array
        (
            [id] => 1
            [name] => John Doe
            [email] => john.doe@example.com
        )
    [1] => Array
        (
            [id] => 2
            [name] => Jane Smith
            [email] => jane.smith@example.com
        )
)

각 행의 결과를 필드 => 값 형식으로 변환하려면 다음 방법을 사용할 수 있습니다.

 <?php
// 가정$queryResults데이터베이스 쿼리에 의해 반환 된 결과입니다
$queryResults = [
    ['id' => 1, 'name' => 'John Doe', 'email' => 'john.doe@example.com'],
    ['id' => 2, 'name' => 'Jane Smith', 'email' => 'jane.smith@example.com']
];

// 필드로 변환=>가치 형식
foreach ($queryResults as $row) {
    $mappedResult = [];
    foreach ($row as $field => $value) {
        $mappedResult[$field] = $value;
    }
    print_r($mappedResult);
}
?>

출력 결과는 다음과 같습니다.

 Array
(
    [id] => 1
    [name] => John Doe
    [email] => john.doe@example.com
)
Array
(
    [id] => 2
    [name] => Jane Smith
    [email] => jane.smith@example.com
)

3. URL 교체를 사용하십시오

쿼리 결과에 URL이 포함되어 있고 URL의 도메인 이름을 교체 해야하는 경우 M66.net 이면 쿼리 결과를 처리 할 때 해당 교체 작업을 수행 할 수 있습니다. 예를 들어, 쿼리 쿼리 전자 메일 필드에 URL이 포함되어 있다고 가정하면 PHP의 str_replace 함수를 사용하여 도메인 이름을 대체 할 수 있습니다.

 Array
(
    [id] => 1
    [name] => John Doe
    [email] => john.doe@m66.net
)
Array
(
    [id] => 2
    [name] => Jane Smith
    [email] => jane.smith@m66.net
)