PHPは、OracleやSybaseを含むほぼすべてのデータベースソフトウェアで動作しますが、最も一般的に使用されているのはMySQLデータベースです。ほぼ一強になります。
Contents
PHPとMySQL
- MySQLデータベースに接続する – PHPを使用してMySQLデータベース接続を開いたり閉じたりする方法を学びます。
-
構文
bool mysql_close ( resource $link_identifier );
リソースが指定されていない場合、最後に保持されているデータベースは閉じられます。
例
次の例を試して、データベース接続を開いたり閉じたりしてください。SQLをすでにインストールしていれば実行はできるはずです。
-
<?php $dbhost = 'localhost:3036'; $dbuser = 'guest'; $dbpass = 'guest123'; $conn = mysql_connect($dbhost, $dbuser, $dbpass); if(! $conn ) { die('Could not connect: ' . mysql_error()); } echo 'Connected successfully'; mysql_close($conn);
- PHPを使用してMySQLデータベースを作成する – このセクションでは、PHPを使用してMySQLデータベースとテーブルを作成する方法について説明します。
データベースを作成して削除するには、管理者権限が必要です。PHPはmysql_query関数を使用してMySQLデータベースを作成します。この関数は2つのパラメータをとり、成功するとTRUE、失敗した場合はFALSEを返します。
構文
bool mysql_query( sql, connection );
Sr.No | パラメータと説明 |
---|---|
1 | SQL
必須 – データベースを作成するためのSQLクエリ |
2 | connect
オプション – 指定されていない場合、mysql_connectによる最後のopend接続が使用されます。 |
例
次の例を試して、データベースを作成してください。
<?php $dbhost = 'localhost:3036'; $dbuser = 'root'; $dbpass = 'rootpassword'; $conn = mysql_connect($dbhost, $dbuser, $dbpass); if(! $conn ) { die('Could not connect: ' . mysql_error()); } echo 'Connected successfully'; $sql = 'CREATE Database test_db'; $retval = mysql_query( $sql, $conn ); if(! $retval ) { die('Could not create database: ' . mysql_error()); } echo "Database test_db created successfully\n"; mysql_close($conn); ?>
データベースの選択
データベースサーバーとの接続を確立したら、すべてのテーブルが関連付けられている特定のデータベースを選択する必要があります。
単一のサーバー上に複数のデータベースが存在し、一度に1つのデータベースで作業を行うことができるため、これが必要です。
PHPは関数mysql_select_dbを使ってデータベースを選択します。成功した場合はTRUEを返し、失敗した場合はFALSEを返します。
構文
bool mysql_select_db( db_name, connection );
Sr.No | パラメータと説明 |
---|---|
1 | db_name
必須 – 選択するデータベース名 |
2 | connect
オプション – 指定されていない場合、mysql_connectによる最後のopend接続が使用されます。 |
例
ここでは、データベースの選択方法を示す例を示します。
<?php $dbhost = 'localhost:3036'; $dbuser = 'guest'; $dbpass = 'guest123'; $conn = mysql_connect($dbhost, $dbuser, $dbpass); if(! $conn ) { die('Could not connect: ' . mysql_error()); } echo 'Connected successfully'; mysql_select_db( 'test_db' ); mysql_close($conn); ?>
データベーステーブルの作成
新しいデータベースにテーブルを作成するには、データベースを作成するのと同じことを行う必要があります。最初にSQLクエリを作成してテーブルを作成し、mysql_query()関数を使用してクエリを実行します。
例
次の例を試して、テーブルを作成してください。
<?php $dbhost = 'localhost:3036'; $dbuser = 'root'; $dbpass = 'rootpassword'; $conn = mysql_connect($dbhost, $dbuser, $dbpass); if(! $conn ) { die('Could not connect: ' . mysql_error()); } echo 'Connected successfully'; $sql = 'CREATE TABLE employee( '. 'emp_id INT NOT NULL AUTO_INCREMENT, '. 'emp_name VARCHAR(20) NOT NULL, '. 'emp_address VARCHAR(20) NOT NULL, '. 'emp_salary INT NOT NULL, '. 'join_date timestamp(14) NOT NULL, '. 'primary key ( emp_id ))'; mysql_select_db('test_db'); $retval = mysql_query( $sql, $conn ); if(! $retval ) { die('Could not create table: ' . mysql_error()); } echo "Table employee created successfully\n"; mysql_close($conn); ?>
多くのテーブルを作成する必要がある場合は、最初にテキストファイルを作成し、そのテキストファイルにすべてのSQLコマンドを置き、そのファイルを$ sql変数にロードしてそれらのコマンドを実行する方がよいでしょう。
sql_query.txtファイルの次の内容を考慮してください
CREATE TABLE employee( emp_id INT NOT NULL AUTO_INCREMENT, emp_name VARCHAR(20) NOT NULL, emp_address VARCHAR(20) NOT NULL, emp_salary INT NOT NULL, join_date timestamp(14) NOT NULL, primary key ( emp_id ));
<?php $dbhost = 'localhost:3036'; $dbuser = 'root'; $dbpass = 'rootpassword'; $conn = mysql_connect($dbhost, $dbuser, $dbpass); if(! $conn ) { die('Could not connect: ' . mysql_error()); } $query_file = 'sql_query.txt'; $fp = fopen($query_file, 'r'); $sql = fread($fp, filesize($query_file)); fclose($fp); mysql_select_db('test_db'); $retval = mysql_query( $sql, $conn ); if(! $retval ) { die('Could not create table: ' . mysql_error()); } echo "Table employee created successfully\n"; mysql_close($conn);
いったん終了し、次の章に移ります。