今回はPHP内でDBに接続する方法です。
DBに接続できればSQLを発行してデータを操作でき、より柔軟なWEBシステムを作ることが可能です。
データベースの作成についてはこちらの記事を参考にしてください。
データベースにテーブルを作成する方法はこちらの記事を参考にしてください。
PHPでDB接続するサンプルコード
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
$user = 'root'; $pass = 'パスワード'; $dbnm = 'shopping'; $host = 'localhost'; $connect = "mysql:host={$host};dbname={$dbnm}"; try { $pdo = new PDO($connect, $user, $pass, array(PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES utf8')); $pdo->setAttribute(PDO::ATTR_EMULATE_PREPARES, false); $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); echo "<p>DBに接続しました。</p>"; } catch (Exception $e) { echo "<p>DB接続エラー</p>"; echo $e->getMessage(); exit(); } |
ちゃんと接続できれば「DBに接続しました。」と表示されます。
サンプルコードの解説
1~4行目は接続情報です。
上からユーザーID、パスワード、データベース、ホストになります。
「データベース」とは何かが分からない方は「MySQLデータベースの構造」の記事を見てください。
「ホスト」は今回はXAMPP環境で接続したので localhost ですが、レンタルサーバーの場合は指定されたホストを書いてください。
XサーバーでしたらDBのホストについてはこちらの記事で解説しています。
6行目の「mysql:host={$host};dbname={$dbnm};cahrset=utf8」はどのDBにアクセスするかをリンクにしたものです。
9行目でPDOを使いサンプルコードのように接続します。
これでDB接続完了です。
ユーザーID、パスワード、データベース、ホストの4つの情報があればDBに接続して自由にデータを操作できるようになります。
(補足)
上のサンプルコードに try ~ catch () というのがあります。
これは、接続に失敗したりして予期せぬ問題が発生した場合に、その処理が try { ~ } の~部分に書いてれば catch の { } 内の処理を実行します。
「予期せぬ問題」のことをプログラムの世界では 例外 と言います。
そしてこの try catch は 例外処理 と呼ばれています。
まとめ
DB接続にはユーザーID、パスワード、データベース、ホストの4つの情報を使う。
データベース、ホストの2つの情報を使い接続先のDBのリンクを作成する。
PDOクラスを使い、DBのリンクとユーザーID、パスワードで接続する。
接続に失敗する可能性もあるので例外処理を行い失敗した場合は迅速に対応できるようにする。
後はSQLを実行しデータを取得したり更新したりします。
コメントを残す