INSERT/UPDATE/DELETE

 $sql = 'insert into t1 (num, str) values (?,?)';
 $sth = $dbh->prepare($sql);
 $sth->execute(time,"i'm happy");

prepare()とexecute()をまとめて行う

 $num_of_rows = $dbh->do('update t1 set num = ? where num > ?', {}, 10,1); 

影響した行数が0の場合は、$num_of_rowsには"0E0"が入ってる。よって$dbh->do(XXX) or die $dbh->errstrと記述できる。

影響した行数

 $num_of_rows = $sth->rows;
 $num_of_rows = $sth->execute;

シリアル(AUTO_INCREMNT)型の値の取得

 print $dbh->last_insert_id(undef,undef,'t1','id');   # テーブル名とカラム名を指定
 print $dbh->last_insert_id(undef,undef,undef,undef); # MySQLだとこれでも取れる

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS

Last-modified: 2008-08-28 (木) 04:16:22