Php 插入变量失败的语句

Php 插入变量失败的语句,php,sql,mysqli,Php,Sql,Mysqli,新来的 我遇到了这个问题 它似乎无法将上一条语句中前两条语句的id用作变量资源,因此sqlcharacter语句失败 我做错了什么 $sqlimg = ("INSERT INTO cimages(image) VALUES(?)"); $stmtimg = $conn->prepare($sqlimg); $stmtimg->bind_param('s', $image); $stmtimg->execute(); $img_id = $stmtimg->insert_i

新来的 我遇到了这个问题

它似乎无法将上一条语句中前两条语句的id用作变量资源,因此sqlcharacter语句失败

我做错了什么

$sqlimg = ("INSERT INTO cimages(image) VALUES(?)");
$stmtimg = $conn->prepare($sqlimg);
$stmtimg->bind_param('s', $image);
$stmtimg->execute();
$img_id = $stmtimg->insert_id;

// I insert the picture first, and retrieve it's ID

$sqlstats = ("INSERT INTO cstats(Strength, Dexterity, Constitution, 
Intelligence, Wisdom, Charisma, Aligment) VALUES(?, ?, ?, ?, ?, ?, ?)");
$stmtstats = $conn->prepare($sqlstats);
$stmtstats->bind_param("iiiiiis", $strength, $dexterity, $constitution, 
$intelligence, $wisdom, $charisma, $aligment);
$stmtstats->execute();
$stats_id = $stmtstats->insert_id;

// I insert the characters stats, and retrieve it's ID
// Last I insert The user_id and img_id and stats_id
$user_id = mysqli_real_escape_string($conn, $_POST['user_id']);
// I've used the session id to get the user_id already 


$sqlcharacter = ("INSERT INTO characters(Cname, Clast, Crace, house, 
location, Bgstory, user_id, img_id, stats_id) VALUES(?, ?, ?, ?, ?, ?, ?, 
$img_id, $stats_id)");
$stmtChar = $conn->prepare($sqlcharacter);
$stmtChar->bind_param('ssssssiii', $Cname, $Clast, $Crace, $house, 
$location, $Bgstory, $user_id, $img_id, $stats_id);
$stmtChar->execute();

$sqlcharacter
字符串看起来有两个变量
$img\u id
$stats\u id
,而不是
,因此我认为这就是它不绑定这些值的原因

尝试更改此设置:

"INSERT INTO characters(Cname, Clast, Crace, house, 
 location, Bgstory, user_id, img_id, stats_id) VALUES(?, ?, ?, ?, ?, ?, ?, 
 $img_id, $stats_id)"
"INSERT INTO characters(Cname, Clast, Crace, house, 
 location, Bgstory, user_id, img_id, stats_id) VALUES(?, ?, ?, ?, ?, ?, ?, 
 ?, ?)"
对此:

"INSERT INTO characters(Cname, Clast, Crace, house, 
 location, Bgstory, user_id, img_id, stats_id) VALUES(?, ?, ?, ?, ?, ?, ?, 
 $img_id, $stats_id)"
"INSERT INTO characters(Cname, Clast, Crace, house, 
 location, Bgstory, user_id, img_id, stats_id) VALUES(?, ?, ?, ?, ?, ?, ?, 
 ?, ?)"

它不起作用。最后3个Id是外键,如果我设置为a?,那么它不会将任何内容放入数据库。我可以这样做吗?“在字符(Cname、Clast、Crace、house、location、Bgstory、user_id、img_id、stats_id)中插入值(?,,,,,,,,,,,,,?),其中img_id='$img_id'和stats_id='$stats_id',这是正确的,我刚刚意识到,但仍然不起作用,所以我还有一些我找不到的错误。”