0
I know what the error is. It says that the number of parameters is not equal to the number of variables. I just can’t find where the error is.
If anyone can see something I didn’t see, I’m grateful ;D
P.S. I know there’s an equal question, but I want to know where my mistake is, that everywhere I looked, I was right
function editaLocalidade($IDLocalidade,$CNPJ, $inscMunicipal, $inscEstadual,$dataFundacao, $nomeLocalidade, $EndLogradouro, $EndComplemento,
$EndCep, $EndBairro, $EndCidade, $EndEstado,$telComercial1,$telComercial2,$notas,$_AtualizacaoUsuario ){
$query = "UPDATE tbl_EmpresasLocalidades SET CNPJ=:CNPJ, InscMunicipal=:InscMunicipal, InscEstadual=:InscEstadual, DataFundacao=:DataFundacao,
NomeLocalidade=:NomeLocalidade, EndLogradouro=:EndLogradouro, EndComplemento=:EndComplemento, EndCep=:EndCep,EndBairro=:EndBairro,
EndCidade=:EndCidade,EndEstado =:EndEstado,TelComercial1 =:TelComercial1, TelComercial2 = :TelComercial2, Notas=:Notas,
_AtualizacaoUsuario=:_AtualizacaoUsuario";
$query .= "WHERE IDLocalidade = :IDLocalidade LIMIT 1";
if($this->ConexaoMySQL()){
try{
$qry = $this->conexao->prepare($query);
$qry->bindValue(':CNPJ',$CNPJ,PDO::PARAM_STR);
$qry->bindValue(":InscMunicipal" ,$inscMunicipal ,PDO::PARAM_STR);
$qry->bindValue(":InscEstadual" ,$inscEstadual ,PDO::PARAM_STR);
$qry->bindValue(":DataFundacao" ,$dataFundacao ,PDO::PARAM_STR);
$qry->bindValue(":NomeLocalidade" ,$nomeLocalidade ,PDO::PARAM_STR);
$qry->bindValue(":EndLogradouro" ,$EndLogradouro ,PDO::PARAM_STR);
$qry->bindValue(":EndComplemento" ,$EndComplemento ,PDO::PARAM_STR);
$qry->bindValue(":EndCep" ,$EndCep ,PDO::PARAM_STR);
$qry->bindValue(":EndBairro" ,$EndBairro ,PDO::PARAM_STR);
$qry->bindValue(":EndCidade" ,$EndCidade ,PDO::PARAM_STR);
$qry->bindValue(":EndEstado" ,$EndEstado ,PDO::PARAM_STR);
$qry->bindValue(":TelComercial1" ,$telComercial1 ,PDO::PARAM_STR);
$qry->bindValue(":TelComercial2" ,$telComercial2 ,PDO::PARAM_STR);
$qry->bindValue(":Notas" ,$notas ,PDO::PARAM_STR);
$qry->bindValue(":_AtualizacaoUsuario",$_AtualizacaoUsuario ,PDO::PARAM_STR);
$qry->bindValue(":IDLocalidade" ,$IDLocalidade ,PDO::PARAM_INT);
$qry->execute();
if ($qry->rowCount() == 1) {
return array('erro'=>'0', 'msg'=>'Localidade atualizada com sucesso!');
}else{
$ErroSQL = $qry->errorInfo();
return array('erro'=>'1', 'msg'=>'Não foi alterado nenhum registro. Erro: '.$ErroSQL[1].': '.$ErroSQL[2]);
}
}catch (Exception $ex) {
return array('erro'=>'1', 'msg'=>$ex->getMessage());
};
}else{
return array('erro'=>'1', 'msg'=>'Não houve conexão com o Banco de Dados.');
}
}
Two things I would do: - put a gap between the WHERE like this:
$query .= " WHERE
and would use ALWAYS double quotes correcting for":CNPJ"
– Thiago Santos
booooaaa hahahaha, it worked kk
– gabrielfalieri