update_data()

  update_data( string $table_name, string $primary_key_value, array $data[, array $table_schema])

テーブルの指定のデータを更新します。実体はWordPressコアクラスのメソッドである$wpdb->update()のラッパーであり、メソッドの仕様もそれに準じます。

パラメータ

$table_name

文字列としてデータを更新したいテーブル名 table_name を指定します。

$primary_key_value

文字列として更新したいデータのプライマリキーの値を指定します(ID以外のプライマリキーにも対応しました)。

$data

追加するデータ(カラム名=>値のペア)の配列として指定します。カラム名と値のデータの両方がSQLセーフなエスケープされた値である必要があります。
なお、CDBTプラグインで作成されたテーブルに自動付与されるIDcreatedupdatedのカラムに対して値を指定しても無視され、データの挿入時には破棄されます。

$table_schema

データを追加するテーブルのテーブルスキーマ情報の配列を指定します。テーブルスキーマ情報は get_table_schema() メソッドにて取得します。このパラメータは必須ではありませんが、指定されると、追加するデータの値についてテーブルのカラム型に応じたマッピングが行われます。省略された場合は、WordPressのwpdb::$field_typesで指定されていない限り、文字列として扱われます。

返り値

データが更新できなかった場合、 FALSE を返します。データが正常に更新された場合、更新したデータのプライマリキーの値を返します。

変更履歴

バージョン 内容
1.0.0 パラメータの不備によってデータが更新できなかった場合のみ、返り値が0
1.1.0 データが追加できなかった場合の返り値を FALSE に統一
1.1.5 ID以外のプライマリキーを持つテーブルに対応した

使用例

<?php
global $cdbt;
$table_name = "prefix_tablename";
list($result, , $table_schema) = $cdbt->get_table_schema($table_name);
if ($result && !empty($table_schema)) {
    $id = $cdbt->update_data($table_name, 1006, array('account_name' => 'maria', 'gender' => 'female'), $table_schema);
} else {
    $id = $cdbt->update_data($table_name, 1006, array('account_name' => 'maria', 'gender' => 'female'));
}
echo $id;