データベースは、あらゆるプログラミング言語の重要なコンポーネントの 1 つです。動的なプロジェクトとデータ管理に対処するには、データベースが必要です。 PHP は、さまざまな種類のデータベース接続をサポートしています。 MySQL は最も広く使用されているリレーショナル データベースの 1 つであり、主に PHP とともに使用されます。 PHP のデータベース接続という用語を考慮すると、MySQL 自体には、データベース操作を行うためにアプリケーション内で接続を確立するためのさまざまな方法があります。 PHP-MYSQL の接続を行った後、レコードの挿入、レコードの削除、レコードの更新など、さまざまな操作を行うことができます。この記事では、PHP 言語を使用したさまざまな方法でのデータベース接続について説明しますので、読み続けて理解してください。
広告 このカテゴリーの人気コース PHP 開発者 - 専門分野 | 8コースシリーズ | 3 つの模擬テスト無料ソフトウェア開発コースを始めましょう
Web 開発、プログラミング言語、ソフトウェア テスト、その他
接続を確立する前に、ホスト名、データベース ユーザー名、データベース パスワード、ポート (アプリケーションの場合) などの詳細が必要です。すべてのプログラミング言語には、データベースとの接続を確立し、それを操作するための独自の方法があります。 。 PHP のデータベースは、JAVA などのプログラミング言語で見られるような大きなタスクではありません。データベースに接続するための非常に単純な数行のコードがあります。
PHP 言語では、以下の方法でデータベース接続を行うことができます:
これは MySQL データベースでのみ機能します。この拡張機能は、データベースと通信する古い伝統的な方法に従っています。現在、今後のすべての PHP バージョンでは、このアプローチが非推奨になりました。
これは MySQL データベースでのみ機能しますが、これは MySQL の改良版です。
さまざまなデータベースで動作します。通常、これがこれら 3 つのうちの最良のアプローチであると考えられます。これは、MySQL データベースと通信するオブジェクト指向の方法とみなされます。接続を作成すると、MySQL 関連を処理するオブジェクトが与えられます。
言及されている例を以下に示します:
コード:
$servername = "localhost"; $username = "root"; $password = ""; $link = mysql_connect($servername, $username, $password); if (!$link) { die('Connection failed: ' . mysql_error()); }else{ echo "Database Connected successfully"; // in case of success }
PHP の以前のバージョンでは接続に成功します。ただし、このコードを使用すると、「非推奨: mysql_connect(): MySQL 拡張機能は非推奨であり、将来削除される予定です。代わりに mysqli または PDO を使用してください。
」と表示されます。そのため、PHP 言語で MySQL データベースにデータベース接続を行うためにこの手法を使用することは避けるべきです。
MYSQLi を使用して 2 つの方法で接続を確立できます。
MYSQLi オブジェクト指向。
コード:
<?php $servername = "localhost"; $username = "root"; $password = ""; // Database Connection Code $conn = new mysqli($servername, $username, $password); // Check connection if ($conn->connect_error) { die("Connection failed: " . $conn->connect_error); // in case of error }else{ echo "Database Connected successfully"; // in case of success } ?>
これで、データベース接続オブジェクトである $conn が完成しました。このオブジェクトはデータベースとのすべての通信に使用できます。
コード:
// selecting database "test1" mysqli_select_db($conn,"test1");
接続確立時にデータベースを引数として渡すこともできます。
コード:
$conn = new mysqli($servername, $username, $password, $databaseName);
MYSQLi 関数 (手続き型) の方法
コード:
$servername = "localhost"; $username = "root"; $password = ""; // Database Connection Code $conn = mysqli_connect($servername, $username, $password); // Check connection if (!$conn) { die("Connection failed: " . mysqli_connect_error()); // in case of error }else{ echo "Database Connected successfully"; // in case of success }
上記のように、データベース接続やその他の操作も使用できます。
これも、PHP でのオブジェクト指向のデータベース接続方法です。このアプローチでは、さまざまなタイプのデータベースを使用できます。
コード:
$servername = "localhost"; $username = "root"; $password = ""; try { // Database Connection Code $conn = new PDO("mysql:host=$servername;dbname=test1", $username, $password); $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); // in case of success echo "Connected successfully"; } catch(PDOException $e) { // in case of error echo "Connection failed: " . $e->getMessage(); }
これらは両方とも、PHP を使用したオブジェクト指向のデータベース接続方法です。これは、現在および将来のデータベース接続の方法と考えることができます。ただし、これら 2 つのうちのどれを選択するかは、プロジェクトにどのようなニーズがあるかによって決まります。 MySQL データベースのみがある場合は、MYSQLi を使用できます。しかし、データベースの可能性が MySQL から MySQL SERVER またはその他のベンダーに変わると、PDO が最良の選択肢になります。これら両方のアプローチは、データベース操作を実行するためのクエリを作成する際に準備されたステートメントをサポートします。プリペアド ステートメントは、アプリケーションやデータベースを SQL インジェクション攻撃から保護できるアプローチです。
それで、あなたの頭の中は何ですか。上記の 3 種類のデータベース接続手法をすべて試した結果、PDO が今後の最善のアプローチであるという結論に達しました。これを最上位に置く背後にあるアイデアは、MySQL データベースだけでなく、MySQL Server などの他のデータベースにもこのアプローチを接続に使用できるということです。コードの耐久性と将来への対応を確実にするために、mysql_connect() の使用は避けるべきです。
以上がPHPデータベース接続の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。