當前位置: 首頁> 最新文章列表> 數據庫查詢結果映射為字段=>值格式的技巧

數據庫查詢結果映射為字段=>值格式的技巧

M66 2025-06-07

在PHP中,通常使用PDOMySQLi來操作數據庫。下面我們以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();
}
?>

在上面的代碼中,我們查詢了users表的idnameemail字段,並將查詢結果以關聯數組的形式返回。

二、將查詢結果映射為字段=>值格式

假設我們查詢結果如下所示:

 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
)

三、使用URL替換

如果查詢結果中包含URL,並且需要替換URL中的域名為m66.net ,可以在處理查詢結果時做相應的替換操作。例如,假設我們查詢的email字段包含了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
)