PHPでDB操作(10)

前回の続きで、edit.phpで編集した内容をDBへ更新させるために、以下のupdate.phpを作成します。

<?php
$dsn     ='mysql:dbname=<データベース名>;host=localhost';
$user    =<ユーザー名>;
$pass    =<パスワード>;

// DBへ接続
try{
    
    
    $dbh = new PDO($dsn, $user, $pass);
    
    $id=$_POST['id'];
    $name=htmlspecialchars($_POST['name'],ENT_QUOTES);
    $tanka=htmlspecialchars($_POST['tanka'], ENT_QUOTES);

	$sql = "UPDATE hyakunin_issyu SET name = :name, tanka =  :tanka WHERE id = :id";
	$stmt = $db->prepare($sql);   
	$params=array(":id" => $id, ":name" => $name, ":tanka" => $tanka );
	$stmt->execute($params);
    
    print "<h4>レコードを更新しました</h4><br>";
    print '<a href="ichiran.php">一覧表示へ戻る</a><br>';
	print '<a href="menu.html">メニューへ戻る</a>';

	} catch (PDOException $e) {
			echo 'DB接続エラー!: ' . $e->getMessage();
	}
} ?>

SQLのUPDATE文は、UPDATE <テーブル名> SET <カラム名> = <値> ...です。カラム名と値はINSERT文と同じように後で割り当てるようにしています。WHERE句でカラム名IDが編集選択したIDを条件としています。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です