mysql_insert_id всегда возвращает 0

  $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();

всегда получая 0 в userId.

Я пытался найти это, но не смог найти никакого решения.

2 ответа

Решение

Спасибо за вашу помощь, парень.
это сработало для меня.
$ this-> data ['userId'] = $ db-> lastInsertId ();

Вы читали документацию?

Идентификатор, сгенерированный для столбца AUTO_INCREMENT предыдущим запросом в случае успеха, 0, если предыдущий запрос не генерирует значение AUTO_INCREMENT, или FALSE, если не установлено соединение MySQL.

Кроме того, эти вызовы устарели.

Начиная с PHP 5.5.0, это расширение устарело и будет удалено в будущем. Вместо этого следует использовать расширение MySQLi или PDO_MySQL.

Читайте о выборе нового API здесь

Другие вопросы по тегам