PHPでMySQLへ接続する
PHPでMySQLへ接続する。


それができれば、データベースの開発の第一歩ですね。


まず、PHPでMySQLを操作するためには、PHPで MySQLに接続するためのコードを実行する必要があります。


見本を見ながら、MySQLに接続するためのコードを書いてみたよ💨


<?php
//データベースに接続するための各情報を変数に入れる。 //データベースサーバ名を変数に入れる。 $dbsv = 'mysql***.db.sakura.ne.jp'; //データベース名を変数に入れる。 $dbnm = 'itijiku_db001'; //データベース ユーザ名を変数に入れる。 $dbid = 'itijiku'; //データベース接続用パスワードを変数に入れる。 $pass = 'itijikunopass'; //PDOによりデータベースに接続する。 //意図しないエラー時にDB接続情報が表示されないようにtry-catch構文で書く。 try {
$pdo_obj = new PDO('mysql:host='.$dbsv.'; dbname='.$dbnm, $dbid, $pass);
$pdo_obj->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); $pdo_obj->exec('SET NAMES utf8');
} catch(PDOException $e) { //die関数でエラーメッセージを出力して終了する。
die('失敗したよ、、、どうして(泣): '.$e->getMessage());
} echo "接続成功したよ";
?>
【実行結果】
接続成功したよ
よくできました。 一応、今回はデータベースに接続成功した場合はechoで「接続成功したよ」と出力させていますが、


こうしなくても、エラーメッセージが出力されていなければ接続成功と判断して問題ないです。


PDOってなに? 何かコードがぐちゃぐちゃしてるね。


PDOは、「PHP Data Objects」の略でPHPでデータベースを接続するための拡張モジュールです。


MySQL以外のデータベースに対しても使えるんですよ。 コードは難しく見えますが、どのようなことをしているかを理解できれば、ある程度は定型文として考えておきましょう。


次に、以下のコードは複数のページで、一つのデータベースを使用したい場合に、接続用の関数を作っておいて、それを使って接続するという方法です。


【データベースを使用する各ページに以下のコードを記載する】
<?php //ファイルを読み込む。
require_once("db_connect.php");
$pdo_obj = connect();
?>
【db_connect.php】※接続用関数を記載したphp(各ページがここを見に来る。)
<?php
function connect(){
//データベースに接続するための各情報を変数に入れる。
//データベースサーバ名を変数に入れる。
$dbsv = 'mysql***.db.sakura.ne.jp';
//データベース名を変数に入れる。
$dbnm = 'itijiku_db001';
//データベース ユーザ名を変数に入れる。
$dbid = 'itijiku';
//データベース接続用パスワードを変数に入れる。
$pass = 'itijikunopass';
//PDOによりデータベースに接続する。 //意図しないエラー時にDB接続情報が表示されないようにtry-catch構文で書く。
try {
$pdo_obj = new PDO('mysql:host='.$dbsv.'; dbname='.$dbnm, $dbid, $pass);
$pdo_obj->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$pdo_obj->exec('SET NAMES utf8');
} catch(PDOException $e) {
//die関数でエラーメッセージを出力して終了する。
die('失敗したよ、、、どうして(泣): '.$e->getMessage());
}
return $pdo_obj;
}
?>
データベースの接続情報に変更があっても、ここだけ直せばいいんだね。


お名前