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 、名前、電子メールフィールドを照会し、クエリの結果を連想配列の形式で返します。
クエリの結果が次のとおりです。
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が含まれていると仮定します。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
)