【问题标题】:Call to undefined function last_insert_id() [duplicate]调用未定义的函数 last_insert_id() [重复]
【发布时间】:2013-12-17 02:45:00
【问题描述】:

在 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() 以致它会导致错误吗?

【问题讨论】:

标签: php sql


【解决方案1】:

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

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

【讨论】:

  • "last_insert_id" 不存在,甚至在 mysql 中也不存在。 :)
  • 不确定我是否理解您的评论,@deceze,dev.mysql.com/doc/refman/5.5/en/…
  • 我的意思是在 PHP mysql(全小写)API 中。 :)
猜你喜欢
  • 2020-09-19
  • 2014-07-07
  • 2016-11-13
  • 2013-04-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-09-26
相关资源
最近更新 更多