3
Friends this mistake (SQLSTATE[HY093]: Invalid parameter number: parameter was not defined
), what is the correct way to apply the UPDATE according to the code below?
Campos DB
id_seguradora
nome_seguradora
cnpj_seguradora
tel_seguradora
cep_seguradora
rua_seguradora
numero_seguradora
bairro_seguradora
cidade_seguradora
estado_seguradora
responsavel_seguradora
email_seguradora
quemcadastrou
quematualizou
data_hora_cadastro
Code
$nome_seguradora = trim($_POST['nome_seguradora']);
$cnpj_seguradora = trim($_POST['cnpj_seguradora']);
$tel_seguradora = trim($_POST['tel_seguradora']);
$cep_seguradora = trim($_POST['cep_seguradora']);
$rua_seguradora = trim($_POST['rua_seguradora']);
$numero_seguradora = trim($_POST['numero_seguradora']);
$bairro_seguradora = trim($_POST['bairro_seguradora']);
$cidade_seguradora = trim($_POST['cidade_seguradora']);
$estado_seguradora = trim($_POST['estado_seguradora']);
$responsavel_seguradora = trim($_POST['responsavel_seguradora']);
$email_seguradora = trim($_POST['email_seguradora']);
$quematualizou = $userRow['nome_funcionario'];
$data_hora_cadastro = trim($_POST['data_hora_cadastro']);
$error = FALSE;
if (!$error) {
date_default_timezone_set('America/Maceio');
$datahora = date('Y-m-d H:i:s');
$sql = "UPDATE `seguradoras` SET `nome_seguradora` = :nome_seguradora, `cnpj_seguradora` = :cnpj_seguradora, `tel_seguradora` = :tel_seguradora, `cep_seguradora` = :cep_seguradora, `rua_seguradora` = :rua_seguradora, `numero_seguradora` = :numero_seguradora, `bairro_seguradora` = :bairro_seguradora, `cidade_seguradora` = :cidade_seguradora, `estado_seguradora` = :estado_seguradora, `responsavel_seguradora` = :responsavel_seguradora, `email_seguradora` = :email_seguradora, `quematualizou` = :quematualizou, `data_hora_cadastro` = '$datahora' WHERE `id_seguradora` = :id_seguradora ";
try {
$stmt = $DB->prepare($sql);
// bind the values
$stmt->bindValue(":nome_seguradora", $nome_seguradora);
$stmt->bindValue(":cnpj_seguradora", $cnpj_seguradora);
$stmt->bindValue(":tel_seguradora", $tel_seguradora);
$stmt->bindValue(":cep_seguradora", $cep_seguradora);
$stmt->bindValue(":rua_seguradora", $rua_seguradora);
$stmt->bindValue(":numero_seguradora", $numero_seguradora);
$stmt->bindValue(":bairro_seguradora", $bairro_seguradora);
$stmt->bindValue(":cidade_seguradora", $cidade_seguradora);
$stmt->bindValue(":estado_seguradora", $estado_seguradora);
$stmt->bindValue(":responsavel_seguradora", $responsavel_seguradora);
$stmt->bindValue(":email_seguradora", $email_seguradora);
$stmt->bindValue(":quematualizou", $quematualizou);
$stmt->bindValue(":data_hora_cadastro", $data_hora_cadastro);
// execute Query
$stmt->execute();
$result = $stmt->rowCount();
there must be something wrong with the parameter
data_hora_cadastro
... Check out everything sertim....– MagicHat
I put it like this:
data_hora_cadastro
= :data_hora_cadastre, look at the error: SQLSTATE[HY093]: Invalid Parameter number: number of bound variables does not match number of tokens– Mauro Santos