->update()
->update() -- オブジェクト変数でデータベースを更新する
概要
int $DB_DataObject->update ([dataobject $original])
説明
現在のオブジェクト変数でデータベースを更新します。
もしデータオブジェクトを引数として提供した場合、
新旧データの間での違いだけが更新されます。
返り値
int 作用した行数、あるいは失敗した場合 FALSE
例外・エラー
表 33-1PEAR_Error の値
| エラーコード | エラーメッセージ | 意味 | 解決策 |
|---|
| DB_DATAOBJECT_ERROR_INVALIDCONFIG | "更新:$table の定義がありません" | | |
| DB_DATAOBJECT_ERROR_NODATA | "更新:クエリ $settings にデータが指定されていません" | | |
注意
この関数は、スタティックにコールする
ことはできません。
例
例 33-1単純なフェッチと更新
<?php
$person = new DataObjects_Person;
$person->get(12);
$person->name='fred';
$person->update();
$person = new DataObjects_Person;
$person->get(12);
$original = clone($person); // clone is emulated in php4 for compatibility reasons.
$person->name='fred';
$person->update($original);
?>
|
|
例 33-2結果の SQL SELECT * FROM person WHERE id = 12
UPDATE person SET name='fred', age='21', eyes='blue' WHERE id = 12
SELECT * FROM person WHERE id = 12
UPDATE person SET name='fred' WHERE id = 12 |
|
例 33-3単純なフェッチと更新
<?php
$person = new DataObjects_Person;
$person->removed=1;
$person->whereAdd('age > 21');
$person->update();
?>
|
|
例 33-4結果の SQL SELECT * FROM person WHERE id = 12;
UPDATE person SET removed=1 WHERE age > 21 |
|