[PHP-users 6962] MDBに対して$dbs->nextId()は使えないのですか?

長谷川 勲 php-users@php.gr.jp
Wed, 17 Apr 2002 22:58:22 +0900


長谷川です。

PEAR::DBクラスを使用して、データベース(Access2000)に接続しています。
普通のSQLは実行できますが、下記のSQLを実行するとエラーになります。
F_IDはAutoNumber型のフィールドです。
print($id)としてみたらObjectと表示されました。

エラー内容
------------------------------------------------------------
[db_error: message="DB Error: mismatch" code=-7 mode=return 
level=notice prefix="" 
info="INSERT INTO MT_DOCUMENT (F_ID) VALUES (Object)
[nativecode=07001 [Microsoft][ODBC Microsoft Access Driver]
パラメータが少なすぎます。1 を指定してください。]"]
------------------------------------------------------------
AutoNumber型のフィールドにObject??を代入しようとしているので
出ているのだと思います。

コード
------------------------------------------------------------
$id = $dbs->nextID('mysequence');
$res = $dbs->query("INSERT INTO MyTable (F_ID) VALUES ($id)");
if (DB::isError( $res )){
  die ($res->toString());
}
------------------------------------------------------------

nextIDの使い方が間違っているのでしょうか?
ご教授お願いいたします。



----
長谷川 勲  hasegawa@rsk-kagoshima.grp.ricoh.co.jp