-3
  $userName = $this->getParam('userName', self::TYPE_STRING); 

  $db = Frapi_Database::getInstance();
  $sql = "INSERT INTO user (userName)
            values ('".$userName."')";

  $stmt = $db->prepare($sql);        

  $stmt->execute();

  $this->data['userId'] = mysql_insert_id();

userIdで常に0を取得します。

これを検索しようとしましたが、解決策が見つかりませんでした。

4

2 に答える 2

2

ドキュメントを読みましたか?

成功時に前のクエリによってAUTO_INCREMENT列に対して生成されたID 、前のクエリがAUTO_INCREMENT値を生成しない場合は0、 MySQL接続が確立されていない場合はFALSE。

また、これらの呼び出しは非推奨になりました。

この拡張機能はPHP5.5.0で非推奨になり、将来削除される予定です。代わりに、MySQLiまたはPDO_MySQL拡張機能を使用する必要があります。

新しいAPIの選択についてはこちらをご覧ください

于 2013-03-26T12:35:06.043 に答える
0

助けてくれてありがとう。
これは私のために働いた。
$ this-> data ['userId'] = $ db-> lastInsertId();

于 2013-03-28T06:44:12.387 に答える