Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Olá pessoal
Estou com um problema ao inserir dados no banco.
Como exemplo vou tentar simplificar o meu problema.
Criei a tabela endereço e coloquei ela na terceita forma normal.
Porém na hora de inserir não estou conseguindo.
A foto da minha tabela esta nesse link. http://imageshack.us/photo/my-images/29/t8xc.png/
<?php
include( "conexao.php" );
//RECEBENDO OS DADOS PREENCHIDOS DO FORMULÁRIO
$nome = $_POST["nome"];
$email = $_POST["email"];
$cpf = $_POST["cpf"];
$rg = $_POST["rg"];
$pais = $_POST["pais"];
$estado = $_POST["estado"];
$municipio = $_POST["municipio"]; //verificar se essa alteração ( cidade p/ município vai dar problemas
$bairro = $_POST["bairro"];
$logradouro = $_POST["logradouro"];
$numero = $_POST["numero"];
$cep = $_POST["cep"];
$complemento = $_POST["complemento"];
$telResidencial = $_POST["telResidencial"];
$telTrabalho = $_POST["telTrabalho"];
$telCelular = $_POST["telCelular"];
/*-------------------------------------------------------------------------------------*/
//Inserir dados na tabela Pais
$idPais = mysql_query( " SELECT p.idPais FROM Pais p WHERE p.nome = '$pais' " );
$idPais_ = mysql_fetch_array( $idPais );
$idPais = $idPais_[ "idPais" ];
//se o valor retornado é vazio então o país é inserido na tabela
if( $idPais == '' ) {
mysql_query( "INSERT INTO Pais( nome ) VALUES( '$pais' )" );
}
/*-------------------------------------------------------------------------------------*/
//Inserir dados na tabela Estado
$idEstado = mysql_query( " SELECT e.idEstado FROM Estado e WHERE e.nome = '$estado' " );
$idEstado_ = mysql_fetch_array( $idEstado );
$idEstado = $idEstado_[ "idEstado" ];
//se o valor retornado é vazio então o estado é inserido na tabela
echo"Vou tentar inserir o estado no idPais $idPais";
if( $idEstado == '' ) {
echo "Vou sinserir o estado $estado";
if(!mysql_query( "INSERT INTO Estado( Pais_idPais, nome ) VALUES( '$idPais', '$estado' )" ) )
echo "Erro ao tentar inserir estado";
}
/*-------------------------------------------------------------------------------------*/
//Inserir dados na tabela Município
$idMunicipio = mysql_query( " SELECT m.idMunicipio FROM Municipio m WHERE m.nome = '$municipio' " );
$idMunicipio_ = mysql_fetch_array( $idMunicipio );
$idMunicipio = $idMunicipio_[ "idMunicipio" ];
//se o valor retornado é vazio então o Municipio é inserido na tabela
if( $idMunicipio == '' ) {
echo "Vou inserir o municipio $municipio";
mysql_query( "INSERT INTO Municipio( Estado_idEstado, nome ) VALUES( '$idEstado', '$municipio' )" );
}
/*-------------------------------------------------------------------------------------*/
//Inserir dados na tabela Bairro
$idBairro = mysql_query( " SELECT b.idBairro FROM Bairro b WHERE b.nome = '$bairro' " );
$idBairro_ = mysql_fetch_array( $idBairro );
$idBairro = $idBairro_[ "idBairro" ];
//se o valor retornado é vazio então o bairro é inserido na tabela
if( $idBairro == '' ) {
mysql_query( "INSERT INTO Bairro( Municipio_idMunicipio, nome ) VALUES( '$idMunicipio', '$bairro' )" );
}
/*-------------------------------------------------------------------------------------*/
//Inserir dados na tabela Logradouro
$idLogradouro = mysql_query( " SELECT l.idLogradouro FROM Logradouro l WHERE l.nome = '$logradouro' " );
$idLogradouro_ = mysql_fetch_array( $idLogradouro );
$idLogradouro = $idLogradouro_[ "idLogradouro" ];
//se o valor retornado é vazio então o logradouro é inserido na tabela
if( $idLogradouro == '' ) {
mysql_query( "INSERT INTO Logradouro( Bairro_idBairro, nome ) VALUES( '$idBairro', '$logradouro' )" );
}
/*-------------------------------------------------------------------------------------*/
//Inserir dados na tabela EnderecoCliente
$idEnderecoCliente = mysql_query( " SELECT n.idEnderecoCliente FROM EnderecoCliente n WHERE n.numero = '$numero' " );
$idEnderecoCliente_ = mysql_fetch_array( $idEnderecoCliente );
$idEnderecoCliente = $idEnderecoCliente_[ "idEnderecoCliente" ];
//se o valor retornado é vazio então o numero é inserido na tabela
if( $idEnderecoCliente == '' ) {
echo "Entrei no if";
echo "o numero que vou inserir é $numero e o idLogradouro e $idLogradouro";
mysql_query( "INSERT INTO EnderecoCliente( Logradouro_idLogradouro ,nome ) VALUES( '$idLogradouro', '$numero' )" );
}
mysql_close();
?>
Minha conexão é feita aqui.
<?php
//Informações do banco de dados
$host = "localhost"; //Nome ou IP do Servidor
$user = "root"; //Usuário do Servidor MySQL
$senha = "84084138"; //Senha do Usuario root MySQL
$dbase = "empresa"; //Nome do banco de dados
//conexão com o banco
$conexao = mysql_connect( $host, $user, $senha );
//conectar e selecionar um banco de dados
if( !$conexao )
{
die( "Erro ao tentar conectar na base de dados:<br>".mysql_error() );
}
else
if( !mysql_select_db( $dbase, $conexao ) )
{
//exibe uma messagem de erro
print "Ocorreu um erro ao selecionar o Banco.";
print "<b>" .mysql_error(). "</b>";
die();
return 0;
}
?>
Alguém consegue enchergar o meu erro.
Obrigado
Carregando comentários...