現在の位置: ホーム> 最新記事一覧> PHPファイルの操作プロセスの詳細な説明とデータベース接続の実用コードの例

PHPファイルの操作プロセスの詳細な説明とデータベース接続の実用コードの例

gitbox 2025-07-17

PHPファイルの実行プロセス

クライアントがPHPファイルを要求すると、サーバーは、解析、実行、出力の3つの主要な手順を順番に完了します。

PHPファイル

サーバーは最初にPHPコードを解析し、スクリプトを実行可能な命令に変換します。 PHPファイル<?php始まり、 ?> end。

PHPコードを実行します

解析が完了すると、サーバーはPHPスクリプトを実行して変数、関数、ロジックを処理します。実行中、サーバーは、スクリプト内のコードをサーバー環境の変数と関数から区別して、正しく実行されるようにします。

出力実行結果

コードの実行が完了した後、サーバーは結果をクライアントに返します。通常はHTML、JSON、XML、または画像形式です。

PHPのデータベースに接続するための基本コード

PHPでは、以下に示すように、MySQLデータベースへの接続は通常、MySQLI拡張機能を使用します。

 $username = "ユーザー名";
$password = "パスワード";
$hostname = "ホスト名";
$database = "データベース名";

// 接続オブジェクトを作成します
$conn = new mysqli($hostname, $username, $password, $database);

// 接続が成功しているかどうかを確認してください
if ($conn->connect_error) {
    die("接続に失敗しました: " . $conn->connect_error);
}
echo "接続に正常に";

上記のコードは、ホスト名、ユーザー名、パスワード、データベース名を渡すことにより、接続を確立します。接続が成功した後、SQLステートメントは$ connを使用して実行できます。

クエリデータベースの例

MySQLIオブジェクトを使用して簡単なクエリを実行するコードは次のとおりです。

 $sql = "SELECT * FROM テーブル名";
$result = $conn->query($sql);

if ($result->num_rows > 0) {
    // 各レコードを出力します
    while($row = $result->fetch_assoc()) {
        echo "id: " . $row["id"] . " - Name: " . $row["name"] . "<br>";
    }
} else {
    echo "クエリの結果はありません";
}

$conn->close();

クエリを実行した後、コードは結果を通過し、データを1つずつ出力し、最後にデータベース接続を閉じます。

SQL注射を防ぐための一般的な方法

SQLインジェクションは、データベースセキュリティに対する一般的な脅威です。効果的な保護対策には次のものが含まれます。

  • MySQLI_REAL_ESCAPE_STRING()関数を使用して、ユーザー入力をエスケープします
  • PDOの前処理ステートメントとパラメーターバインディングテクノロジーを採用します

以下は、PDOアンチインジェクションを使用したコード例を示しています。

 $sql = "SELECT * FROM テーブル名 WHERE name = :name";
$stmt = $conn->prepare($sql);
$stmt->bindValue(':name', $name);
$stmt->execute();
$result = $stmt->fetch(PDO::FETCH_ASSOC);
var_dump($result);

$conn->close();

SQLおよびBindValueのバインディングパラメーターを準備方法を介したプリコンパイルと、悪意のあるSQLインジェクションを効果的に回避し、データセキュリティを確保することができます。