调用未定义的函数last_insert_id()

use*_*789 -1 php sql

在Sets表中插入值后,我想返回ID“ setsId”。

这是我收到的错误:调用未定义的函数last_insert_id()。

这是我的代码:

if($_POST[reps]=="")
{
echo "Record can not be added. All fields are mandatory";
echo '<br>';
}
else
{
    $con = mysqli_connect(); //removed for privacy

    if (mysqli_connect_errno())
    {
       echo "Failed to connect to MySQL: " . mysqli_connect_error();
    }

    $sql="INSERT INTO Sets (exerciseId, bandId, reps, notes) 
    VALUES ('$_POST[exerciseId]',
        '$_POST[bandId]',
        '$_POST[reps]',
        '$_POST[notes]')";

    $sId=last_insert_id();

    if (!mysqli_query($con,$sql))
    {
        die('Error: ' . mysqli_error($con));
    }


    echo '<div id ="error">';
    echo 'SUCCESS!';
    echo '<br>';
    echo "1 record added";
    echo '<br>';
    echo '</div>';
    mysqli_close($con);
}
include ('ptfooter.html');
?>
Run Code Online (Sandbox Code Playgroud)

有人可以让我知道我如何错误地使用函数last_insert_id(),从而导致错误吗?

Mat*_*Mat 5

last_insert_id是MySQL函数的名称。相应的mysqli函数称为mysqli_insert_id。改用它。

但是,如果尚未执行插入查询,则无法调用该函数。在调用该函数之前,请确保执行了插入操作(并成功执行了插入操作)。