JoaoNascimento Posted February 22, 2012 Report Share Posted February 22, 2012 Pessoal, tenho o seguinte código para inserir dados de um formulário para um BD: <?php $servidor = "localhost"; $utilizador = "root"; $senha = ""; $bd = "login"; $conexao = mysql_connect($servidor, $utilizador, $senha); //liga a base de dados mysql mysql_select_db($bd); //seleciona a base de dados //variaveis enviadas pelo método post $nome = $_POST['username']; $password = $_POST['password']; $tipoUtilizador = mysql_query("select idTipoUtilizador from tipoutilizador where designacao = '".$_POST['tipoUtilizador']."'"); //insere valores no db $insere = mysql_query("INSERT INTO utilizador(nome, password, TipoUtilizador_idTipoUtilizador) values ('".$nome."', '".$password."', '".$tipoUtilizador."')") or die(mysql_error()); if($insere == true) echo "<script>alert('Adicionado.');</script>"; else echo "<script>alert('erro.');</script>"; ?> Mas ao submeter o formulário aparece isto: Cannot add or update a child row: a foreign key constraint fails (`login`.`utilizador`, CONSTRAINT `fk_Utilizador_TipoUtilizador` FOREIGN KEY (`TipoUtilizador_idTipoUtilizador`) REFERENCES `tipoutilizador` (`idTipoUtilizador`) ON DELETE NO ACTION ON UPDATE N) Sei que é por causa da chave estrangeira, mas não sei o que estou a fazer mal! Alguém me pode dar ai uma luz? Estou a começar agora com PHP http://www.joaonascimento.info Link to comment Share on other sites More sharing options...
HappyHippyHippo Posted February 22, 2012 Report Share Posted February 22, 2012 o valor que estas a tentar inserir no campo TipoUtilizador_idTipoUtilizador não existe na tabela tipoutilizador no campo idTipoUtilizador IRC : sim, é algo que ainda existe >> #p@p Portugol Plus Link to comment Share on other sites More sharing options...
JoaoNascimento Posted February 22, 2012 Author Report Share Posted February 22, 2012 o valor que estas a tentar inserir no campo TipoUtilizador_idTipoUtilizador não existe na tabela tipoutilizador no campo idTipoUtilizador Já resolvi o problema, bastava-me escolher no value da caixa de selecção que era o id quando tivesse o nome x. echo "<option value=".$escrever["idTipoUtilizador"].">".$escrever["designacao"]."</option>"; http://www.joaonascimento.info Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now