この記事では、PHPを使用してMySQLデータベースに接続するためのいくつかの方法について説明します。
- MySQLの改善( mysqli )PHP拡張機能
- PDO(PHPデータオブジェクト)
- レガシーMySQL( mysql _ )関数
- PHPを使用してリモートMySQLデータベースに接続する
メソッド#1:MySQLを使用してMySQLに接続する改善
MySQLの改善された拡張機能は、 mysqliを使用します クラス。レガシーMySQL関数のセットを置き換えます。
MySQLの改良された拡張機能を使用してMySQLに接続するには、次の手順に従います。
- 次のPHPコードを使用して、MySQLに接続し、データベースを選択します。 ユーザー名を置き換えます ユーザー名、パスワード パスワードとdbname データベース名:
<?php $mysqli = new mysqli("localhost", "username", "password", "dbname"); ?>
-
コードがMySQLに接続してデータベースを選択した後、SQLクエリを実行して他の操作を実行できます。たとえば、次のPHPコードは、従業員から名前を抽出するSQLクエリを実行します。 テーブルを作成し、結果を $ resultに格納します 変数:
<?php $result = $mysqli->query("SELECT lastname FROM employees"); ?>
方法#2:PHPデータオブジェクト(PDO)を使用してMySQLに接続する
MySQL改良拡張機能は、MySQLデータベースでのみ使用できます。一方、PDOはデータベースアクセスを抽象化し、さまざまな種類のデータベースを処理できるコードを作成できるようにします。
PDOを使用してMySQLに接続するには、次の手順に従います。
- 次のPHPコードを使用して、MySQLに接続し、データベースを選択します。 ユーザー名を置き換えます ユーザー名、パスワード パスワードとdbname データベース名:
<?php $myPDO = new PDO('mysql:host=localhost;dbname=dbname', 'username', 'password'); ?>
-
コードがMySQLに接続してデータベースを選択した後、SQLクエリを実行して他の操作を実行できます。たとえば、次のPHPコードは、従業員から名前を抽出するSQLクエリを実行します。 テーブルを作成し、結果を $ resultに格納します 変数:
<?php $result = $myPDO->query("SELECT lastname FROM employees"); ?>
方法#3:レガシーPHP関数を使用してMySQLに接続する
元のPHPMySQL関数(名前は mysql_ で始まります) )はPHP 5.5で非推奨になり、最終的にPHPから削除されます。したがって、これらの関数は、下位互換性のために絶対に必要な場合にのみ使用してください。可能であれば、代わりにMySQLImproved拡張機能またはPDOを使用してください。
従来のPHPMySQL関数を使用してMySQLに接続するには、次の手順に従います。
- 次のPHPコードを使用して、MySQLに接続し、データベースを選択します。 ユーザー名を置き換えます ユーザー名、パスワード パスワードとdbname データベース名:
<?php mysql_connect('localhost','username','password'); mysql_select_db("dbname"); ?>
-
コードがMySQLに接続してデータベースを選択した後、SQLクエリを実行して他の操作を実行できます。たとえば、次のPHPコードは、従業員から名前を抽出するSQLクエリを実行します。 テーブルを作成し、結果を $ resultに格納します 変数:
<?php $result = mysql_query('SELECT lastname FROM employees'); ?>
PHPを使用したリモートMySQLデータベースへの接続
前の例はすべて、PHPスクリプトがMySQLデータベースが配置されているのと同じサーバー上で実行されることを前提としています。しかし、PHPを使用してリモートの場所からMySQLデータベースに接続したい場合はどうでしょうか。たとえば、自宅のコンピューターまたは別のWebサーバーからA2ホスティングデータベースに接続したい場合があります。
これを行うには、次の2つのことを行う必要があります。
- A2ホスティングサーバーで、リモートアクセス用の接続IPアドレスを有効にします。これを行う方法については、この記事を参照してください。許可されたリモートアクセスホストのリストにIPアドレスを追加しない場合、アクセスが拒否されましたを受け取ります。 MySQLデータベースにリモートでアクセスしようとしたときのメッセージ。
- PHPコードで、MySQL接続文字列を変更して localhostの代わりにA2ホスティングサーバー名を使用します 。たとえば、次のPHPコードは mysqliを使用します A2ホスティングサーバーに接続するにはa2ss25.a2hosting.com:
<?php $mysqli = new mysqli("a2ss25.a2hosting.com", "username", "password", "dbname"); ?>
アカウントのサーバー名を確認する方法については、こちらの記事をご覧ください。
- PHPのMySQL改良拡張機能の詳細については、http://www.php.net/manual/en/book.mysqli.phpにアクセスしてください。
- PDOの詳細については、http://www.php.net/manual/en/book.pdo.phpにアクセスしてください。
- PHPのレガシーMySQL関数の詳細については、http://www.php.net/manual/en/book.mysql.phpにアクセスしてください。