我得到了这个错误:警告: PDOStatement::execute():SQLSTATEHY093:无效参数编号:参数没有在
数组( => HY093 1 => 2 => )
$arr = array();
$values = "";
$sql = "INSERT INTO avisos(nombre ";
$values.=":nombre";
$arr[] = "nombre => $nombre";
if($plataforma!=""){
$sql .= ", idPlataforma";
$values.=", :idPlataforma";
$arr[] = "idPlataforma => $plataforma";
}
if(idCompania!=""){
$sql .= ", idCompania";
$values.=", :idCompania";
$arr[] = "idCompania => $compania";
}
if($fondo!=""){
$sql .= ", idFondo";
$values.=", :idFondo";
$arr[] = "idFondo => $fondo";
}
if($remitente != ''){
$sql .= ", idRemitente";
$values.=", :idRemitente";
$arr[] = "idRemitente => $remitente";
}
$sql.= ") VALUES ($values);";
$stmt = $con->prepare($sql);
if ($stmt->execute($arr)){
echo "OK";
}我看不出我在哪里不及格。
发布于 2017-11-30 10:20:51
发送给execute()的数组需要有键值对,其中键是占位符,值是要插入的值。
因此,与其:
$arr[] = "nombre => $nombre";你需要:
$arr[':nombre'] = $nombre;或者:
$arr['nombre'] = $nombre;等。
https://stackoverflow.com/questions/47570974
复制相似问题