ADOdbのReplace
普通によくある
- データがなかったらINSERT
- データがあったらUPDATE
を行う為のメソッドとしてADOdbにReplaceメソッドが用意されて*1結構便利。
http://phplens.com/adodb/reference.functions.replace.html
使い方もこんな感じでとっつきやすい感じ。
// 登録or更新情報作成 $datas = array('user_id' => $db->qstr($id) ,'user_nm' => $db->qstr($name) ,'comment' => $db->qstr($comment)); // キーカラム情報作成 $keys = array('user_id'); // 追加or更新 $result = $db->Replace('user_mst' ,$datas ,$keys ,false );
$resultは0が異常終了。
注意点として4つ目の引数が$autoQuoteになっていて
trueにしてデータ作成時に自分でqstrしない状態で
0埋めされたIDを渡したら埋めていた0がない条件で検索&登録されるという事。(V4.64で確認)
登録更新系はこのメソッド、検索系はGet〜〜メソッド、削除がExecuteメソッドを使うように統一を考え中。