PHP Tips [その他]

PDOによるデータベース接続

----------------------------------------------------------------------
【 データベースへの接続から結果セットの出力まで 】
----------------------------------------------------------------------
※下記「db_setting.php」と「DbManagerPdo.php」を使用する。

<?php
    $sql ='';
    $sql .= 'select tokuisaki_name, tokuisaki_address';
    $sql .= ' from M_Tokuisaki';
    $sql .= " where tokuisaki_id = 1";
    
    try {
    
        // データベースへの接続を確立
        $db = connectDbforPdo();
                
        // select命令の実行
        $stt = $db->prepare($sql);
        $stt->execute();
                
        // 結果セットの内容を順に出力
        while ($row = $stt->fetch(PDO::FETCH_ASSOC)) {
        
            ※結果セットを出力するための処理
        
        }
            
    } catch(PDOException $e) {
        die("エラーメッセージ:{$e->getMessage()}");
    }

?>

----------------------------------------------------------------------
【 データベースの接続用スクリプト : db_setting.php 】
----------------------------------------------------------------------
<?php
    define('DB_HOST', ホスト名);
    define('DB_USER', データベースユーザー名);
    define('DB_PASS', データベースパスワード);
    define('DB_NAME', データベース名);
?>

----------------------------------------------------------------------
【 データベースへの接続を確立するためのスクリプト : DbManagerPdo.php 】
----------------------------------------------------------------------
<?php

    function connectDbforPdo() {

        require_once './lib/db_setting.php';

        $db_name = DB_NAME;
        $db_host = DB_HOST;
        $db_user = DB_USER;
        $db_pass = DB_PASS;

        $dsn    = "mysql:dbname=$db_name; host=$db_host";
        $usr    = $db_user;
        $passwd = $db_pass;

        try {
            // データベースへの接続を確立
            $db = new PDO($dsn, $usr, $passwd);
            
            $db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
            
        } catch (PDOException $e) {
            die("接続エラー:{$e->getMessage()}");
        }
        return $db;

    }

?>