LoginSignup
0
0

More than 1 year has passed since last update.

PDOについて(備忘録)

Last updated at Posted at 2021-07-11

備忘録的なやつ,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

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0