我在另一个表中插入数据后尝试生成singer id
,
当我使用准备语句时,问题就出现了:
警告:mysqli_insert_id()期望参数1为mysqli,object>在/Applications/XAMPP/xamppfiles/htdocs/admin/singer.php中给出>第22行警告:mysqli :: prepare()[mysqli.prepare]:无法获取>在/Applications/XAMPP/xamppfiles/htdocs/admin/singer.php上的mysqli>第24行
<?php
include('../db_inc.php');
$singer_name =$_POST['singer_name'];
$singer_gender=$_POST['singer_gender'];
$singer_des=$_POST['singer_description'];
$singer_genre=$_POST['genre_list'];
if($stmt=$connection->prepare("INSERT INTO singers(singer_name,singer_gender,singer_description) VALUES (?,?,?)")){
$stmt->bind_param('sss',$singer_name,$singer_gender,$singer_des);
$result1=$stmt -> execute();
$singer_id=mysqli_insert_id($stmt);
$stmt->close();
}
if($stmt2=$connection->prepare("INSERT INTO genre_singer(f_singer_id,f_genre_id) VALUES (?,?)")){
$stmt2->bind_param('fs',$singer_id,$singer_genre);
$result2=$stmt2 -> execute();
$stmt2->close();
$connection->close();
}
if($result1 & $result2){
echo "insert successfully";
};
?>
答案 0 :(得分:7)
变化:
$singer_id=mysqli_insert_id($stmt);
为:
$singer_id=mysqli_insert_id($connection);
答案 1 :(得分:7)
您没有正确使用mysqli_insert_id
。它应该是:
mysqli_insert_id($connection);
或者更好:
$connection->insert_id