nishiru3の日記

備忘録です。ネットのゴミ。

PDOによるテーブルやデータの操作

基本的な操作

すぐ忘れちゃうので書いておく。

<?php
/**
 * PDOによる
 * 「テーブルの作成」
 * 「データの挿入」
 * 「データの取得」
 * 「データの削除」
 * 「データの取得」
 * 「テーブルの削除」
 * http://php.net/manual/ja/book.pdo.php
 */
/**
 * PDOでMySQLに接続するためのパラメータ
 */
$dsn = 'mysql:dbname=projects;host=localhost';
$user = 'admin';
$password = 'pass';
/**
 * MySQLに接続
 */
try{
    $dbh = new PDO($dsn, $user, $password);
    print('接続に成功しました。<br>');
}catch (PDOException $e){
    print('Error:'.$e->getMessage());
    die();
}
/**
 * テーブルの作成
 */
$stmt = $dbh->query("CREATE TABLE projects.meibo (id INT,name TEXT)");
/* 結果の取得*/
$results = $stmt->fetchall();
/**
 * データの挿入
 */
$stmt = $dbh->query("INSERT INTO projects.meibo VALUES(1,'名無し1')");
$results = $stmt->fetchall();
/* データの取得
 * PDO::FETCH_ASSOC 連想配列で返すフラグみたいなもの
 */
$stmt = $dbh->query("SELECT * FROM projects.meibo");
$results = $stmt->fetchall(PDO::FETCH_ASSOC);
echo '<br />データ挿入後<br />';
var_dump($results);
/**
 * データの削除
 */
$stmt = $dbh->query("DELETE FROM projects.meibo WHERE id = 1");
$results = $stmt->fetchall(PDO::FETCH_ASSOC);
echo '<br />データ削除後<br />';
var_dump($results);
/**
 * デーブルの削除
 */
$stmt = $dbh->query("DROP TABLE projects.meibo");
$results = $stmt->fetchall();