-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。

此外,这些调用已被弃用。

此扩展自 PHP 5.5.0 起已弃用,并将在未来删除。相反,应该使用 MySQLi 或 PDO_MySQL 扩展。

在此处阅读有关选择新 API 的信息

于 2013-03-26T12:35:06.043 回答
0

thanks for your help guyz.
this worked for me.
$this->data['userId'] = $db->lastInsertId();

于 2013-03-28T06:44:12.387 回答