備忘録的なやつ,RDBMSはmysqlを想定
■レコード取得
<?php
$hostname = '(DBサーバ ex.localhost)';
$username = '(ユーザ名)';
$password = '(パスワード)';
$dbname = '(Database名)';
$dsn = "mysql:host={$hostname}; dbname={$dbname}";
$tablename = '(テーブル名)';
$sql = "(SQL文)";
try {
//$dbhはデータベースハンドラの略
$dbh = new PDO($dsn, $username, $password);
echo "接続成功\n";
//①アロー演算子でqueryメソッドでの戻り値を$dataに格納
$data = $dbh -> query($sql);
//②アロー演算子でfetchAllメソッドでの戻り値(配列にしたもの)を$resultに格納
$result = $data -> fetchAll(PDO::FETCH_ASSOC);
print_r($result);
} catch (PDOException $e) {
echo "接続失敗: " . $e->getMessage() . "\n";
exit();
}
?>
フェッチモード(配列の形式)について
https://blog.senseshare.jp/fetch-mode.html
■レコード更新
<?php
//PDO
$hostname = '(DBサーバ ex.localhost)';
$username = '(ユーザ名)';
$password = '(パスワード)';
$dbname = '(Database名)';
$dsn = "mysql:host={$hostname}; dbname={$dbname}";
$tablename = '(テーブル名)';
$sql = "(SQL文)";
try {
$dbh = new PDO($dsn, $username, $password);
echo "接続成功\n";
//execメソッドでSQL文を実行
$dbh -> exec($sql);
$dbh = null;
} catch (PDOException $e) {
echo "接続失敗: " . $e->getMessage() . "\n";
exit();
}
?>
prepareメソッドの利用
prepareメソッドを利用する事でSQL文に引数をセットできる。
https://www.javadrive.jp/php/pdo/index8.html