- 此问题在此处已有答案**:
mysqli_stmt::bind_param(): Number of elements in type definition string doesn't match number of bind variables(3个答案)
昨天关门了。
我尝试用mysqli_stmt_bind_param
更新php脚本中数据库的信息,但是很明显变量的数量与语句中准备的不匹配。
$sql = "INSERT INTO veiculo (IDProduto_Veiculo, NIFProprietario_Veiculo, TipoVeiculo, NmrLugares, Modelo, Marca, Fotografia_Veiculo) VALUES (?, ?, ?, ?, ?, ?, ?)";
$stmt = mysqli_prepare($con, $sql);
mysqli_stmt_bind_param($stmt, "iisssss", $random_id, $_SESSION['NIF'], $tipo_veiculo, $numero_lugares, $modelo, $marca, $target_file_name);
mysqli_stmt_execute($stmt);
在这些代码行之间,我有一些验证来创建"random_id",但在那之后,我有一个验证,它给了我这个错误,我似乎找不到为什么它是不正确的:
if (!mysqli_stmt_execute($stmt)) {
die("Statement execution failed: " . mysqli_stmt_error($stmt));
}
我试过将"iisssss"
改为sssssss
,但由于前两个参数是整数,所以没有多大意义。除此之外,我不知道问题是从哪里来的。
1条答案
按热度按时间x6492ojm1#
$numero_lugares是一个整数吗?也许你需要“iisisss”作为第二个参数。