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などがあります。
関連記事