调用未定义的函数last_insert_id()

时间:2013-12-01 09:08:51

标签: 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');
?>

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

1 个答案:

答案 0 :(得分:5)

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

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