我singer id在另一个表中插入数据后尝试生成,当我使用prepare语句时会出现问题:
警告:mysqli_insert_id()期望参数1为mysqli,object>在第22行的/Applications/XAMPP/xamppfiles/htdocs/admin/singer.php中给出警告:mysqli :: prepare()[mysqli.prepare]:couldn'在第24行的/Applications/XAMPP/xamppfiles/htdocs/admin/singer.php中获取> mysqli>
<?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";
};
?>
Run Code Online (Sandbox Code Playgroud)
更改:
$singer_id=mysqli_insert_id($stmt);
Run Code Online (Sandbox Code Playgroud)
至:
$singer_id=mysqli_insert_id($connection);
Run Code Online (Sandbox Code Playgroud)
你没有mysqli_insert_id正确使用.它应该是:
mysqli_insert_id($connection);
Run Code Online (Sandbox Code Playgroud)
或者更好的是:
$connection->insert_id
Run Code Online (Sandbox Code Playgroud)
请参阅文档:http://php.net/mysqli_insert_id
| 归档时间: |
|
| 查看次数: |
2015 次 |
| 最近记录: |