PDOでSQLを実行する方法(INSERT/UPDATE/DELETE)

投稿者: | 2020年1月26日

PDOでSQLを実行する方法(INSERT/UPDATE/DELETE)です

// $dsn(Data Source Name)データベースに接続するために必要な情報
//  host=ホスト名
//  dbname=データベース名
//  charset=文字エンコード
$dsn = 'mysql:host=*****;dbname=*****;charset=*****';
 
// $username データベースにログインするユーザー名
$username = '*****';

// $password データベースにログインするパスワード
$password = '*****';
 
try {
 
  // PDO(PHP Data Objects)インスタンス生成
  $pdo = new PDO($dsn, $username, $password);
 
  ///////////////////////////////////////////////////////
  // INSERT文作成
  $sql = "INSERT INTO テーブル (カラム) VALUES (:パラメータ)";
  
  // INSERT文パラメータ設定
  $stmt = $pdo->prepare($sql);
  $stmt->bindParam(':パラメータ', "値", PDO::PARAM_STR);

  // INSERT文SQL実行
  $stmt->execute();

  ///////////////////////////////////////////////////////
  // UPDATE文作成
  $sql = "UPDATE テーブル SET カラム =:パラメータ";
 
  // UPDATE文パラメータ設定
  $stmt = $pdo->prepare($sql);
  $stmt->bindParam(':パラメータ', "値", PDO::PARAM_STR);
 
  // UPDATE文SQL実行
  $stmt->execute();

  ///////////////////////////////////////////////////////
  // DELETE文作成
  $sql = "DELETE FROM テーブル WHERE カラム =:パラメータ";

  // DELETE文パラメータ設定
  $stmt = $pdo->prepare($sql);
  $stmt->bindParam(':パラメータ', "値", PDO::PARAM_STR);

  // DELETE文SQL実行
  $stmt->execute();

} catch (PDOException $ex) {
 
  echo "データベースエラー:" . $ex->getMessage();

}