Ao tentar cadastrar CPF no banco, muda os numeros automaticamente
Galera,
Alguem já passou por algo assim?
Fiz um formulário bem simples de cadastro, contendo nome e CPF (resumindo pra não deixar todo o código aqui):
<form class="form-horizontal validar" action="?submit=true" method="post" enctype="multipart/form-data">
<div class="form-group">
<label class="col-sm-2 control-label">Nome</label>
<div class="col-sm-10"><input type="text" class="form-control validate[required]" name="txNome" placeholder="Digite o nome aqui" value="" /></div>
</div>
<div class="line line-dashed b-b line-lg pull-in"></div>
<div class="form-group">
<label class="col-sm-2 control-label">CPF</label>
<div class="col-sm-6"><input type="text" class="form-control validate[required]" name="txCPF" placeholder="Digite o CPF aqui" value="" /></div>
</div>
<div class="line line-dashed b-b line-lg pull-in"></div>
<div class="form-group">
<label class="col-sm-2 control-label"></label>
<div class="col-sm-10">
<button class="btn btn-primary" type="submit">Gravar</button>
</div>
</div>
</form>
Porém, se eu cadastro um CPF (ex: "04992271901"), no banco, está indo como "2147483647".
O banco está como Varchar (15). Estava INT, mas mesmo com INT dava problema. Tentei mudar e o erro persiste.
Ao dar submit, ele executa este código:
if( $_GET['submit'] == "true" ){
$objRegistro->cliNome = $_POST['txNome'];
$objRegistro->cliCPF = $_POST['txCPF'];
$resultado = $objRegistro->save();
if( !empty( $resultado ) ){
header( "Location: ?action=listar" );
}
else{
$divRegistro .= alert("Ocorreu um erro ao executar a ação (Cadastrar registro)!");
}
}
A função save() é meramente um insert no banco.
public function save( $showquery = false ){
$query = $this->insert( $this->storage, 'sistema_cliente' )->values( $this->storage );
if( $showquery ){
echo $query."<br />";
}
try {
$objConnect = Config::connect();
if( $objResult = $objConnect->query( $query ) ){
return $objConnect->insert_id;
}
else{
return false;
}
$objResult->close();
$objQuery->close();
}
catch ( Exception $e ){
$object = null;
}
}
O pior é que a query que vai pro banco executar já vai com o CPF "alterado".
Será que é por alguma incompatibilidade string/inteiro?
Discussão (14)
Carregando comentários...