SQLインジェクション対策を兼ねたデータベースの使い方を記述します。
主にはPDOを使った方法を記載していきます。ここでは例としてMySQL(UTF-8)を使います。
また、この資料を記述していくにあたり、
DBの場所はlocalhost、ポート番号は3306、データベース名はDBname、ユーザ名はDBuser、パスワードはDBpasswordというものにします。
各自がご利用になるときは適宜置き換えてください。
目次
PDOとは、PHP Data Objectsの略で、phpでデータベースとやりとりする際に利用するメソッドです。
今まではphpでmysql_connect()と接続していましたが、これではMySQLしか利用できません。
PDOを使うことで、どのデータベースを利用する場合でも同じ関数を使うことができるので、データベースを変更したとしても、設定したPDOオブジェクトを作成する時に指定したパラメータをphp.iniで変更すればいいので融通が利きます。
phpが動くサーバでphpinfo()関数を走らせてみて、結果を見てみましょう。
phpプログラム(info.php)
<?php phpinfo(); ?>
と記述し、ブラウザでinfo.phpに行けば確認できます。 以下のようになっていれば使えます。

自分でサーバを管理している人は、設定ファイルphp.iniで設定が必要なので検索してみてください。
(というのは、適当すぎなのでURL紹介しておきます。こちらです。)
ではまずはデータベースに接続して、接続できなければエラーを返すプログラムを書きましょう。 ファイル名(なんでもいいけど.php)
<?php
$dsn = 'mysql:dbname=DBname;host=localhost;port=3306;charset=utf8';
$user = 'DBuser';
$password = 'DBpassword';
try{
$dbh = new PDO($dsn, $user, $password);
print('接続に成功しました。<br>');
}
}catch (PDOException $e){
print('Error:'.$e->getMessage());
die();
}
$dbh = null;
?>
接続に成功しましたとかえってこればOKです。