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

问题描述 投票:0回答:1

我正在尝试使用

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
尽管这没有多大意义,因为前两个参数是整数。除此之外,我看不出这个问题是从哪里来的。

php error-handling mysqli
1个回答
-1
投票

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

© www.soinside.com 2019 - 2024. All rights reserved.