->insert()
->insert() -- 現在のオブジェクト変数をデータベースに挿入する
概要
mixed $DB_DataObject->insert ()
説明
現在のオブジェクトの偏す打ちに基づいたデータをデータベースに挿入し、
もし、シーケンスや主キーが使用される場合、挿入された要素のIDを返します。
値は完全にクオートされ、
いくつかの制限された型のチェックは行われています。
MySQLでは mysql_next_id() メソッドが使用され、
他のデータベースでは、PEAR DB の sequence メソッドが使用されます。
注意:
insert() メソッドはいくつかの状況では ID を正しく返さないかも知れません。
データベースバックエンドがサポートしていない場合
生成スクリプトが正しいカラムを自動インクリメント/nextvalとしてマークしなかった場合
何らかのエラーが発生した場合
(デバッグモードで確認することができます)
挿入に失敗、あるいは '0' 行に影響を与えた場合
返り値
mixed - Id あるいは キーを指定します。
例外・エラー
表 33-1PEAR_Error の値
| エラーコード | エラーメッセージ | 意味 | 解決策 |
|---|
| DB_DATAOBJECT_ERROR_INVALIDCONFIG | "挿入:$table の定義がありません" | | |
| DB_DATAOBJECT_ERROR_NODATA | "挿入:クエリにデータが指定されていません" | | |
| DB_* | * | PEAR::DB を参照してください | PEAR::DB を参照してください |
注意
この関数は、スタティックにコールする
ことはできません。
例
例 33-1簡単な挿入
<?php
$person = new DataObjects_Person;
$person->name='fred';
$id = $person->insert();
?>
|
|
例 33-2結果の SQL
<?php
INSERT INTO person (name) VALUES ('fred');
?>
|
|