HOME技術PHPPHPでMySQLを操作する:(3) レコードの更新

PHPでMySQLを操作する:(3) レコードの更新

PHPからMySQLのデータベースのレコードを更新する方法です。

テーブルは前回と同じ構造です。

PHPからレコードを更新する

PHPコード

<?php
// 定数
define(‘HOST’,’localhost’); // ホスト名
define(‘DBNAME’,’database’); // データベース名
define(‘ID’,’database_id’); // データベースログインID
define(‘PASSWORD’,’database_password’); // データベースログインパスワード
define(‘TBNAME’,’table’); // テーブル名
// MySQLに接続
try{
$sql = new PDO( ‘mysql:host=’.HOST.’; dbname=’.DBNAME.’; charset=utf8′, ID, PASSWORD);
print ‘ 接続に成功しました。’;
} catch ( PDOException $e) {
print “接続に失敗しました。:{$e->getMessage()}”;
}
// レコードの更新
$id = 1; // 更新するレコードのID
$code = 2; // 更新後のコード番号
$name = “新しい名前”; // 更新後の名前
$date = “2018-1-31”; // 更新後の日付
$flag = 0; // 更新後のYes/No型データ
$sql_sentence = ‘UPDATE ‘.TBNAME.’ SET code=:code, name=:name, date=:date, flag=:flag WHERE id=:id’;
$ir -> $sql -> prepare($sql_sentense);
$ir -> bindParam(‘:code’, $code, PDO::PARAM_INT);
$ir -> bindParam(‘:name’, $name, PDO::PARAM_STR);
$ir -> bindParam(‘:date’, $date, PDO::PARAM_STR);
$ir -> bindParam(‘:flag’, $flag, PDO::PARAM_INT);
$ir -> bindParam(‘:id’, $id, PDO::PARAM_INT);
$ir -> execute();
print ‘更新に成功しました。’;
$sql = null;
?>

このコードを実行すると、idが1番のレコードの値を更新します。
今回はSQL文を$sql_sentenseという変数に予め入れておき、それを実行しています。
このSQL文の「UPDATE~SET~WHERE」の大文字は、小文字であっても構いません。
区別がつくように大文字にしています。

なお、bindParamの部分は、以下のように書くこともできます。

$params = array(‘:code’ => $code, ‘:name’ => $name, ‘:date’ => $date, ‘:flag’ => $flag, ‘:id’ => $id);
$ir -> execute($params);

このように書くと、一行にまとめられます。

関連記事

PHPでMySQLを操作する:(5) レコード数のカウント

PHPでMySQLのデータベースに登録されているレコード件数を数える方法です。 テーブルは前回と同じ構造とします。 PHPからレコードを数える PHPコード <?php // 定数 define…続きを読む

PHPでMySQLを操作する:(7) レコードの表示(抽出条件付き)

PHPからMySQLのデータベースにアクセスして、レコードを抽出する際に、条件を指定する方法です。 テーブルは前回と同じ構造とします。 レコードを条件付きで抽出する PHPコード <?php /…続きを読む

PHPでMySQLを操作する:(6) レコードの表示(全件)

PHPでMySQLのデータベース内に登録されたレコードを全件抽出して表示する方法です。 テーブルは前回と同じ構造とします。 PHPからレコードを全件抽出する PHPコード <?php // 定数…続きを読む

PHPでMySQLを操作する:(8) レコードの表示(日付で抽出する)

PHPからMySQLのデータベースにアクセスして、レコードを抽出する際に、日付データを指定して抽出する方法です。 日付データを指定して抽出 PHPコード <?php // 定数 define(‘…続きを読む

PHPでMySQLを操作する:(4) レコードの削除

PHPでMySQLのデータベースのレコードを削除する方法です。 テーブルは前回と同じ構造とします。 PHPからレコードを削除する PHPコード <?php // 定数 define(‘HOST’…続きを読む

PHPでMySQLを操作する:(1) MySQLへ接続する

PHPからMySQLに接続するコードは以下のように書きます。 PHPからMySQLに接続する <?php try{ $sql = new PDO (‘mysql:host=local…続きを読む

PHPでMySQLを操作する:(2) レコードを挿入する

PHPからMySQLのデータベースにレコードを挿入する方法です。 テーブルの構造 テーブルの構造を以下とします。 数値型、テキスト型、日付型、Yes/No型の4種類を例示します。 ※bit型をここでは…続きを読む