php - 无法让 mysql_insert_id() 工作

标签 php mysql sql 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->result);希望检索插入数据的id):

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 包含什么?

关于php - 无法让 mysql_insert_id() 工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12490165/

相关文章:

php - Swagger 不在 laravel 5.6 中发布 Assets 文件

php - 从大型表单发布数据并在发生错误后将数据保留在输入中的最佳方法

php - 比较mysql中的两个字段

mysql - 对于 SQL 中的所有查询,表划分

php - 如何在mysqli中将一列添加到多个表中?

php - MySQL嵌套查询如何选择多行

php - 如何解析表1到表2的数据

mysql - 如何使用 PHP Mysql rest api 创建 Flutter 聊天应用程序?

sql - 在 MySQL 中加入过去最近日期的表

sql - MS Access 中的 CONCAT 等效项