php 变量数与预准备语句中的参数数不匹配,尽管每个变量都等于预准备语句数[重复]

4sup72z8  于 2023-02-28  发布在  PHP
关注(0)|答案(1)|浏览(137)
    • 此问题在此处已有答案**:

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,但由于前两个参数是整数,所以没有多大意义。除此之外,我不知道问题是从哪里来的。

x6492ojm

x6492ojm1#

$numero_lugares是一个整数吗?也许你需要“iisisss”作为第二个参数。

相关问题