Не удается заставить mysql_insert_id () работать

Я попробовал это:

$cid = mysql_insert_id($this->result); $this->result = "<div class='alert alert-success'>" . sprintf(_('Successfully added user id <b>%s</b> to the database.'), $cid) . "</div>"; 

но я получаю только эту ошибку:

Предупреждение: mysql_insert_id (): предоставленный аргумент не является допустимым ресурсом MySQL-Link в

Это целая функция (я добавил этот $ cid = mysql_insert_id (результат $ this->), надеясь получить идентификатор вставленных данных):

 private function adduser() { if (!empty($this->error)) return false; $params = array( ':user_level' => parent::getOption('default-level'), ':name' => $this->name, ':email' => $this->email, ':username' => $this->username, ':password' => parent::hashPassword($this->password) ); parent::query("INSERT INTO `login_users` (`user_level`, `name`, `email`, `username`, `password`) VALUES (:user_level, :name, :email, :username, :password);", $params); $shortcodes = array( 'site_address' => SITE_PATH, 'full_name' => $this->name, 'username' => $this->username, 'email' => $this->email, 'password' => $this->password ); $subj = parent::getOption('email-add-user-subj'); $msg = parent::getOption('email-add-user-msg'); if(!parent::sendEmail($this->email, $subj, $msg, $shortcodes)) $this->error = _('ERROR. Mail not sent'); $cid = mysql_insert_id($this->result); $this->result = "<div class='alert alert-success'>" . sprintf(_('Successfully added user <b>%s</b> to the database. Credentials sent to user.'), $cid) . "</div>"; } 

Это соединение с базой данных:

 <?php $host = "xxx"; $dbName = "xxx"; $dbUser = "xxx"; $dbPass = "xxx"; ?> 

mysql_insert_id() принимает ссылку ресурса, то есть дескриптор базы данных, в качестве аргумента не результат запроса. Что содержит этот $this->result ?

Проверить руководство

Параметр для mysql_insert_id – Link_Identifier. Но я думаю, что вы проходите результат. Пытаться

 $cid = mysql_insert_id(); 

или ваш $ this-> result должен быть идентификатором соединения, возвращаемым mysql_connect ().

Вы уже используете PDO, переключитесь на:

 $cid = self::$dbh->lastInsertId(); // PDO for mysql_insert_id