- Custom DataBase Tables
- CDBT Version 1.x
- メソッド・リファレンス
- update_data
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プラグインで作成されたテーブルに自動付与される
なお、CDBTプラグインで作成されたテーブルに自動付与される
ID、created、updatedのカラムに対して値を指定しても無視され、データの挿入時には破棄されます。
$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;