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 здесь