Я попробовал это:
$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