Mysqli_insert_id()期望参数1为mysqli, null


mysqli_insert_id() expects parameter 1 to be mysqli, null given in

这是连接字符串

global $db_connection;
$db_connection = false;
$db_connection = mysqli_connect($config['server'], $config['username'], $config['password'], $config['database']);

功能:

function lastInsertId() {
    return mysqli_insert_id($db_connection);
}
得到误差

mysqli_insert_id() expects parameter 1 to be mysqli, null given in ...

有什么问题吗?

如果你想为mysql连接使用全局变量,你必须用global指定变量,以便它在函数中可用:

function lastInsertId() {
    global $db_connection;
    return mysqli_insert_id($db_connection);
}

你需要这样的功能:

function lastInsertId($db_connection) {
    return mysqli_insert_id($db_connection);
}
$db_connection = mysqli_connect($config['server'], $config['username'], $config['password'], $config['database']);
$id = lastInsertId($db_connection);

当你调用函数时,在参数中传递连接对象

编辑:全局函数在php工作不像他们可能工作在其他编程语言(如。javascript)。你必须明确定义全局变量。

function lastInsertId($db_connection) {
    global $db_connection;
    return mysqli_insert_id($db_connection);
}