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

时间:2015-10-25 11:48:54

标签: php mysqli

这是连接字符串

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 ...

可能是什么问题?

2 个答案:

答案 0 :(得分:4)

如果要为mysql连接使用全局变量,则必须使用global指定变量才能在函数中使用:

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

答案 1 :(得分:0)

您需要以下功能:

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);

当您在参数中调用函数传递连接对象时。

EDITED:php中的全局函数不能正常工作,可能适用于其他编程语言(例如javascript)。您必须明确定义全局变量。

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