我想在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(),这会导致错误吗?
答案 0 :(得分:5)
last_insert_id
是MySQL函数的名称。相应的mysqli函数称为mysqli_insert_id
。请改用它。
但如果尚未执行插入查询,则无法调用该函数。在调用该函数之前,请确保执行(并成功)插入。