how to update id

Asked

Viewed 54 times

0

someone can help me update the ID in this code?

public function Editar_Cliente(){
            $dados = $this->DadosClientes;
            $id = $dados['id'];
            $nome = $dados['nome'];
            $cpf = $dados['cpf'];
            $email = $dados['email'];
            $endereco = $dados['endereco'];
            $numero = $dados['numero'];
            $bairro = $dados['bairro'];
            $cidade = $dados['cidade'];
            $estado = $dados['estado'];
            $telefone_celular = $dados['telefone_celular'];
            $telefone_fixo = $dados['telefone_fixo'];

            $dados_r = $this->Exec_SQL("UPDATE `clientes` SET `nome`='$nome',`cpf`='$cpf',`email`='$email',`endereco`='$endereco',`numero`='$numero',`bairro`='$bairro',`cidade`='$cidade',`estado`='$estado',`cep`='$cep',`telefone_celular`='$telefone_celular',`telefone_fixo`='$telefone_fixo' WHERE id = '$id'");
            if($dados_r){
                return $dados = array(
                    'codigo' => 0,
                    'mensagem' => 'Cliente editado',
                    'dados_enviados' => $dados, 
                );
            }else{
                return $dados = array(
                    'codigo' => 1,
                    'mensagem' => 'Erro ao editar o cliente',
                    'dados_enviados' => $dados, 
                    'erro' => $this->conexao->error,
                );
            }

I just wanted to do it:

UPDATE `clientes` SET `id` = '875' WHERE `clientes`.`id` = 874; 

in this case, id changes, put 875 and 874 as examples.

I tried and it wasn’t:

$dados_r = $this->Exec_SQL("UPDATE `clientes` SET **`id`='$id'**,`nome`='$nome',`cpf`='$cpf',`email`='$email',`endereco`='$endereco',`numero`='$numero',`bairro`='$bairro',`cidade`='$cidade',`estado`='$estado',`cep`='$cep',`telefone_celular`='$telefone_celular',`telefone_fixo`='$telefone_fixo' WHERE id = '$id'");
  • By chance the countryside id of your table is a Primary Key? A Primary Key field should not have its value changed.

2 answers

0

Try this:

$servidor = "local"; //DIGITE SEU SERVIDOR
$usuario = "user"; //DIGITE SEU USUÁRIO
$senha = "pass"; //DIGITE SUA SENHA
$dbname = "nome_tabela"; //DIGITE SUA TABELA
    
//Criar a conexao
$conn = mysqli_connect($servidor, $usuario, $senha, $dbname);
    
if(!$conn){
    die("Falha na conexao: " . mysqli_connect_error());
}

$sql = "UPDATE clientes SET id='$id',nome='$nome',cpf='$cpf',email='$email',endereco='$endereco',numero='$numero',bairro='$bairro',cidade='$cidade',estado='$estado',cep='$cep',telefone_celular='$telefone_celular',telefone_fixo='$telefone_fixo' WHERE id = '$id'"
$query = mysqli_query($conn,$sql);

0

Opa Brother

I believe that what you want to do would not be appropriate to the process of ensuring integrity.

It may be that id is auto increment and does not allow change.

It may be that the type is as string and not as number.

More in real the update command would be the same:

UPDATE clientes SET id = 875 WHERE id = 874;

I believe it’s more related to the structure of the bank not allowing.

Browser other questions tagged

You are not signed in. Login or sign up in order to post.