ホームページ >データベース >mysql チュートリアル >PHP で MySQL データベースに接続する
PHP は一般に、最も広く使用されているオープンソースのリレーショナル データベース管理システムの 1 つである MySQL と組み合わせて、小規模プロジェクトと大規模プロジェクトの両方でデータを高速かつ効率的に処理します。
単純な Web サイトを作成する場合でも、高度な Web アプリケーションを作成する場合でも、PHP を MySQL データベースに接続する方法を知る必要があります。
MySQL は、オープンソースのリレーショナル データベース管理システム (RDBMS) として知られており、そのパフォーマンス、信頼性、使いやすさが広く評価されています。
小規模な Web サイトから大規模で複雑なエンタープライズ システムに至るまで、あらゆる種類のアプリケーションに高度に適応します。 MySQL はその柔軟性と効率性により、強固なデータベース基盤を求める開発者にとって好ましい選択肢となっています。
サーバーサイドのスクリプト言語である PHP は、MySQL とシームレスに連携して、インタラクティブなデータ駆動型の Web ページを構築します。これらを組み合わせることで、Web サイトや Web アプリケーションに最適なオプションとなる強力なバックエンド ソリューションが提供されます。
MySQL データベースをセットアップするには、まず、MySQL コマンドライン インターフェイス (CLI) または phpMyAdmin などの Web ツールを使用してデータベースを作成します。 CLI を使用して、CREATE DATABASE コマンドを利用して新しいデータベースを開始します。
この簡単なコマンドを使用すると、アプリケーションのデータに対応できる空のデータベースが作成されます。グラフィカル インターフェイスをお好みの場合は、phpMyAdmin を使用すると、数回クリックするだけで同じタスクを簡単に実行できます。
データベースを作成した後、セキュリティ目的で適切な権限を持つユーザーを設定する必要があります。 CREATE USER コマンドを使用して新しいユーザーを追加し、GRANT コマンドを使用して特定の権限をユーザーに割り当てることができます。
MySQL の PHP 拡張機能を選択する場合、MySQLi と PDO という 2 つの主なオプションがあります。それぞれに異なる機能と利点があるため、決定は特定のニーズと将来の潜在的な要件によって異なります。
MySQLi 拡張機能
MySQLi は MySQL Enhanced の略で、MySQL データベースを操作するためのアップグレードされた方法を提供し、古い方法と比較して優れた機能を提供します。
MySQLi ではオブジェクト指向 API と手続き型 API のどちらかを選択できるため、コーディング スタイルに応じて非常に柔軟になります。ただし、MySQLi は MySQL データベースでのみ動作するため、それを超えて拡張する予定がある場合は、その使用が制限されます。
PDO (PHP データ オブジェクト)
PDO は、MySQL だけでなく 12 の異なるデータベース システムをサポートするため、より汎用性の高いオプションです。これにより、将来データベースを切り替えることが予想される場合、より価値のある選択肢となります。
PDO は完全にオブジェクト指向のアプローチを使用し、準備されたステートメントなどの高度な機能を提供し、さまざまなデータベース環境間でのセキュリティと移植性を強化します。
MySQL データベースへの信頼できる接続を確立することは、動的な PHP アプリケーションを構築する最初のステップです。
MySQLi を使用した MySQL への接続
MySQLi を使用して MySQL データベースに接続するには、オブジェクト指向アプローチまたは手続き型アプローチのいずれかを選択できます。オブジェクト指向の方法では、サーバー名、ユーザー名、パスワードを使用して mysqli クラスの新しいインスタンスを作成するだけです。
手続き型アプローチでは、「mysqli_connect()」関数を呼び出して接続を確立します。接続したら、接続ステータスを確認することが重要です。これは、オブジェクト指向バージョンでは「$conn->connect_error」を使用するか、手続き的に「mysqli_connect_error()」を使用して行うことができます。
PDO を使用した MySQL への接続
PDO に接続する場合は、接続文字列でサーバーとデータベースの詳細を直接指定して、PDO クラスの新しいインスタンスを作成します。例外を効果的に処理するには、「PDO::ATTR_ERRMODE」属性を使用してエラー モードを「PDO::ERRMODE_EXCEPTION」に設定します。
エラーが発生した場合に例外がスローされるようになり、エラーをより正確に管理できるようになりました。また、PDO では接続セットアップ時に有効なデータベースを指定する必要があることに注意してください。それ以外の場合、例外がスローされ、接続は失敗します。
MySQL データベース内のデータを効果的に管理するには、基本的な SQL 操作の実行方法と、その操作がどのように機能するかを理解する必要があります。
クエリの実行
MySQL データベースと対話するには、SELECT、INSERT、UPDATE、DELETE などの基本的な SQL クエリを実行する必要があります。
MySQLi を使用すると、オブジェクト指向アプローチの場合は「$conn->query($sql)」、手続き型アプローチの場合は「mysqli_query($conn, $sql)」でこれらのクエリを実行できます。
PDO の場合、データベースを変更するクエリには「$conn->exec($sql)」を使用し、取得には「$conn->query($sql)」を使用します。各方法はコマンドを実行する簡単な方法を提供し、データベースを効率的に管理するのに役立ちます。
準備されたステートメント
プリペアド ステートメントは、アプリケーションを SQL インジェクションから安全に保つのに役立ちます。 MySQLi では、「$conn->prepare("INSERT INTO users (name, email) VALUES (?, ?)")」を使用してステートメントを準備し、「$stmt->bind_param("ss」を使用してパラメータをバインドできます。 "、$name、$email)"。
PDO の場合、「$conn->prepare("INSERT INTO users (name, email) VALUES (:name, :email)")」を使用し、「$stmt->execute(['name'」で実行します) => $name, '電子メール' => $電子メール])'.
MySQLi を使用しているか PDO を使用しているかにかかわらず、MySQL データベースへの安定した接続を維持し、SQL クエリの問題を特定するには、エラーの効果的な処理とデバッグが不可欠です。
オブジェクト指向スタイルの MySQLi の場合は '$conn->close()' を使用するか、手続き型アプローチの場合は 'mysqli_close($conn)' を使用するか、または '$conn = null' の設定を使用してデータベース接続を明示的に閉じることができます。 PDO用。 PHP はスクリプトの最後に接続を自動的に閉じますが、サーバーのリソースを解放してパフォーマンスを向上させるには、手動で接続を閉じることをお勧めします。
データベース接続が必要なくなった場合は、必ずデータベース接続を閉じてください。プリペアド ステートメントを利用して SQL インジェクションを防御し、アプリケーションのセキュリティを強化します。
以上がPHP で MySQL データベースに接続するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。