PS: Atenção que ao modelar tabelas (tabela = entidade) aonde a chave primária de uma tabela se relaciona com outra entidade como chave estrangeira esta deveria ter o mesmo nome no campo (atributo), portanto desaconselho a prática de nomear um campo(atributo) como id_cadastro e repetir o mesmo campo(atributo) na tabela pessoa física como id_user isso gera confusão. Mas é uma prática que de início não damos muito atenção.
Para que possa ser resolvido o problema é necessário tomar algumas medidas para isolar a causa. Não se programa sem errar. Por isso é tão fundamental as mensagens de err e warning
Envolvido com aspas simples, no caso em que a variável que está inserindo no atributo (campo) seja uma string do tipo (CHAR E VARCHAR),já no caso de variáveis do tipo inteira (INT) na há necessidade de aspas simples envolvendo a concatenação, apenas aspas duplas finalizando uma string para concatenar uma variável no meio dela.
Você defini que para o update ter sido um sucesso o numero de linhas afetadas após a execução da querie tem que ser maior que zero. Isto está corretíssimo!
No entanto não postou o código de conexão com o banco de dados e nem muito menos sabemos se as configurações de seu servidor tem a exibição de erros ativada (Error Reporting) geralmente para se descobrir um erro deve-se depura-lo por isso que pedi em comentário para que coloca-se antes do seu if o comando :
Para que se existir qualquer erro de sintaxe em sua querie, definida na variavél $update ele reportasse
Você reporta que ao executar seu código nenhum erro é emitido e portanto, se suas configurações estão corretas e o php está configurado para emitir avisos e erros e mysql_affected_rows é igual a zero ao final da execução deduzimos que o problema está sobre a querie que é definida na variável $update. Nesse caso a forma correta de descobrir é imprimindo o valor da variável concatenada $update e em seguida parar a execução do código com o comando exit. Portanto bastaria antes dessa linha fazer :
Repare que como utilizei o exit antes do mysql_query este não ira ser executado apenas a impressão da querie que existe na variável $update.Mediante a impressão da querie você poderia pegar e rodar o sql diretamente em seu phpmyadmin e verificar qual erro está sendo reportado e fazer as devidas correções. Caso contrário você pode ir utilizando o echo , print_r (em casos de array ou objeto) e o exit para ir parando o código linha a linha para entender o problema.
Esse texto é de extrema importância não se programa sem erros. Se não entender como se depura de forma organizada seu código até ter todo entendimento da lógica implementada não se PROGAMA, copia-se e cola e disso o mercado tá cheio!
O que deu errado ? Atualiza sua pergunta poste o código do que fez. – Rafael Salomão 12/07/17 às 14:52