Baccho Log

No Image

Sponsored Link

[PHP, MySQL]phpでのMySQL操作

  • 投稿日:
  • 更新日:
Tags:
MySQL PHP
Categories:
プログラミング

MySQLに接続する

function connect() {
    $dsn  = 'mysql:dbname=DB_NAME;host=HOST_NAME;charset=utf8';
    $user = 'USER_NAME';
    $pw   = 'PASS';
    $driver_options = array(
                PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
                PDO::ATTR_EMULATE_PREPARES => false,
    );
    try {
        // データベースに接続
        $pdo = new PDO(
                $dsn,
                $user,
                $pw,
                $driver_options
        );
        $pdo->setAttribute(PDO::ATTR_DEFAULT_FETCH_MODE, PDO::FETCH_ASSOC);
        return $pdo;
    } catch(PDOException $e) {
        return $error = $e->getMessage();
    }
}
  1. 2行目dbnameはデータベース名、hostはホスト名(サーバ)※ローカル環境であれば、localhost
  2. 3行目userはユーザ名※デフォルトであれば、root
  3. 4行目pwはパスワード

指定のテーブルの中身を全て抽出する

function get_all_table() {
    try {
        $pdo  = connect();
        $sql  = 'SELECT * FROM `テーブル名` ORDER BY `テーブル名`.`フィールド名` asc';
        $stml = $pdo->prepare($sql);
        $stml->execute(array());
        $stml = $stml->fetchAll();
    } catch(PDOException $CMS_PDO_SQL_ERR) {
        $CMS_PDO_SQL_ERR->getMessage();
    }

    return $stml;
}

指定のテーブルの中身を絞り込んで抽出する

function get_select_table() {
    try {
        $pdo  = connect();
        $sql  = 'SELECT * FROM `テーブル名` WHERE `フィールド名`=:field_name';
        $stml = $pdo->prepare($sql);
        $stml->execute(array(':field_name'=>'取得値'));
        $stml = $stml->fetch();
        return $stml;
    } catch(PDOException $CMS_PDO_SQL_ERR) {
        $CMS_PDO_SQL_ERR->getMessage();
    }
}
  1. 一つのデータのみを取得する場合は、$SQLを SELECT * FROMテーブル名WHEREフィールド名=? LIMIT 1 としてもいい。
  2. LIMITは抽出数を指定するSQL文。
    書式は LIMIT [開始位置,]取得数
    開始位置の記載は任意で、デフォ値は0
    LIMIT 3 としたなら、抽出したレコードの中で、上から3つを取得する。
    LIMIT 1,3としたなら、抽出したレコードの中で、上から2つ目から3つを取得する。
    カンマ区切りで、LIMIT 取得開始位置,取得数 となる。
    ※取得開始位置は、0始まりの為注意。

指定のテーブルの中身を削除する

function delete_table() {
    try {
        $pdo  = connect();
        $sql  = 'DELETE FROM `テーブル名` WHERE `フィールド名`=:field_name';
        $stml = $pdo->prepare($sql);
        $stml->execute(array(':field_name'=>'削除する値'));
    } catch(PDOException $CMS_PDO_SQL_ERR) {
        $CMS_PDO_SQL_ERR->getMessage();
    }
}

指定のテーブルの中身を変更(更新)する

function update_table() {
    try {
        $pdo  = connect();
        $sql  = 'UPDATE `テーブル名` SET `フィールド名`=:change_name WHERE `フィールド名`=:field_name';
        $stml = $pdo->prepare($sql);
        $stml->execute(array(':change_name'=>'変更後の値','field_name'=>'フィールド名の値'));
    } catch(PDOException $CMS_PDO_SQL_ERR) {
        $CMS_PDO_SQL_ERR->getMessage();
    }
}
« [XAMPP]複数のバージョンのPHPを使い分ける[JQuery]サイドバーを追従させる »

Sponsored Link

コメントする

記事の感想や修正依頼等ありましたら、コメントをお願いいたします