に一致する私は、このコードSQLSTATE [HY093]無効なパラメータ番号、すべてのパラメータが
switch ($var1) {
case 'corredor':{
$query = ' UPDATE corredor
SET
cedula = :cedula,
nombres = :nombres,
apellidos = :apellidos,
fechanacimiento = :fechanacimiento,
telefono = :telefono,
correo = :correo,
direccion = :direccion,
fecharegistro = :fecharegistro,
estatus = :estatus,
aseguradora_rif =: aseguradora_rif
WHERE cedula = :cedula_old
';
$query_params = array(
':cedula' => $_POST['cedula'],
':nombres' => $_POST['nombres'],
':apellidos' => $_POST['apellidos'],
':fechanacimiento' => $_POST['fechanacimiento'],
':telefono' => $_POST['telefono'],
':correo' => $_POST['correo'],
':direccion' => $_POST['direccion'],
':fecharegistro' => $_POST['fecharegistro'],
':estatus' => $_POST['estatus'],
':aseguradora_rif' => $_POST['aseguradora_rif']
':cedula_old' => $var2
);
try {
$stmt = $db->prepare($query);
$result = $stmt->execute($query_params);
} catch (PDOException $ex) {
$ex->getMessage();
}
#header('Location: index.php?do=listacorredor');
break;
} //fin case
私は
SQLSTATE [HY093]を取得していますがあります一致するトークンの数
私はすべてのパラメータが一致するように見えますが、私はすでにクエリの最後に余分な部分を探していましたが、すべてのバインドがdatabと一致しています私はここで失われているので、他の答えは欠けているものなどだったが、実際にはここで問題を見ることはできない。バインドのparams :)前
http://php.net/manual/es/pdostatement.bindparam.php
http://php.net/manual/es/pdostatement.bindvalue.php
を忘れてしまった
はあなたが後に余分なコンマを持って ' ':cedula_old' => $ var2で、'、および上記の行になし。 – Qirel
ああ、私はこれを投稿している間にテストしていましたが、削除されても同じエラーが発生しました。 –
'aseguradora_rif =:aseguradora_rif'ここに余分なスペースがあります –