HOME技術PHPPHPでMySQLを操作する:(1) MySQLへ接続する

PHPでMySQLを操作する:(1) MySQLへ接続する

PHPからMySQLに接続するコードは以下のように書きます。

PHPからMySQLに接続する

<?php
try{
$sql = new PDO (‘mysql:host=localhost;dbname=database; charset=utf8; ‘database_id’, ‘database_password’);
print ‘接続に成功しました。’;
} catch (PDOException $e) {
print “接続に失敗しました。:{$ej->getMessage()}”;
}
?>

PDO文の「host=localhost」のlocalhostにはホスト名を書きます。
「dbname=database」のdatabaseにはMySQLで設定したデータベース名を書きます。
「charset=utf8」は、文字コードで普通は子のまま変更する必要はありません。
「’database_id’」は、データベースに接続する際のログイン名を書きます。
「’database_password’」は、データベースに接続する際のパスワードを書きます。

ホスト名、データベース名、ID、パスワードなどを定数にする

ホスト名やデータベース名、ログインID、ログインパスワードなどは、一括で管理した方がわかりやすいので、定数にしておきます。以下のようにします。

define(‘HOST’ , ‘localhost’);
define(‘DBNAME’, ‘database’);
define(‘ID’, ‘database_id’);
define(‘PASSWORD’, ‘database_password’);
$sql = new PDO (‘mysql:host=’.HOST.’; dbname=’.DBNAME.’; charset=utf8′, ID, PASSWORD);

define()は、定数を定義する関数です。
最初の値が定数名、次の値が定数の値になります。
定数名は大文字する、という暗黙のルールが一部にはあるので、ここではそれに則っています。
ただし、大文字でもPHPの予約語とバッティングしてしまうと機能しなくなるので、バッティングしないネーミングにするといいでしょう(先頭にT_をつけるなど)。

なお、上記のようにPHPでは、文字列に変数の値をつなげるには、ピリオド(.)を使います(’mysql:host=’.HOST~)。

定数を外部ファイルに書き出して読み込む

定数を外部ファイルにまとめて、そのファイルを読み込む場合は以下のようにします。

定数をまとめた外部ファイルを「constant.php」、読み込むファイルを「index.php」とします。

constant.php

<?php
define(‘HOST’ , ‘localhost’);
define(‘DBNAME’, ‘database’);
define(‘ID’, ‘database_id’);
define(‘PASSWORD’, ‘database_password’);
?>

index.php

<?php
include ‘constant.php’;
try{
$sql = new PDO (‘mysql:host=’.HOST.’; dbname=’.DBNAME.’; charset=utf8′, ID, PASSWORD);
print ‘接続に成功しました’;
} catch (PDOException $e) {
print “接続エラー:{$ej->getMessage()}”;
}
?>

外部ファイルを読み込むときは、includeを使います。
このほか、外部ファイルを読み込む関数には、require、include_once、require_once、autoloadなどがあります。

関連記事

PHPでMySQLを操作する:(2) レコードを挿入する

PHPからMySQLのデータベースにレコードを挿入する方法です。 テーブルの構造 テーブルの構造を以下とします。 数値型、テキスト型、日付型、Yes/No型の4種類を例示します。 ※bit型をここでは…続きを読む

PHPでMySQLを操作する:(8) レコードの表示(日付で抽出する)

PHPからMySQLのデータベースにアクセスして、レコードを抽出する際に、日付データを指定して抽出する方法です。 日付データを指定して抽出 PHPコード <?php // 定数 define(‘…続きを読む

PHPでMySQLを操作する:(6) レコードの表示(全件)

PHPでMySQLのデータベース内に登録されたレコードを全件抽出して表示する方法です。 テーブルは前回と同じ構造とします。 PHPからレコードを全件抽出する PHPコード <?php // 定数…続きを読む

PHPでMySQLを操作する:(5) レコード数のカウント

PHPでMySQLのデータベースに登録されているレコード件数を数える方法です。 テーブルは前回と同じ構造とします。 PHPからレコードを数える PHPコード <?php // 定数 define…続きを読む

PHPでMySQLを操作する:(3) レコードの更新

PHPからMySQLのデータベースのレコードを更新する方法です。 テーブルは前回と同じ構造です。 PHPからレコードを更新する PHPコード <?php // 定数 define(‘HOST’,…続きを読む

PHPでMySQLを操作する:(7) レコードの表示(抽出条件付き)

PHPからMySQLのデータベースにアクセスして、レコードを抽出する際に、条件を指定する方法です。 テーブルは前回と同じ構造とします。 レコードを条件付きで抽出する PHPコード <?php /…続きを読む

PHPでMySQLを操作する:(4) レコードの削除

PHPでMySQLのデータベースのレコードを削除する方法です。 テーブルは前回と同じ構造とします。 PHPからレコードを削除する PHPコード <?php // 定数 define(‘HOST’…続きを読む