Victoralm Postado Junho 5, 2012 Denunciar Share Postado Junho 5, 2012 (editado) Me surgiu a necessidade de criar bancos e tabelas dinamicamente caso estes não existam.Até aí, sem problemas. O problema aparece quando tento criar a chave estrangeira direto pelo script.O script roda perfeitamente sem a linha da chave estrangeira, mas preciso que esta seja criada dentro do script...Por favor, solicito ajuda !!!RESOLVIDOSegue abaixo o código já 100% funcional:<?php $con = mysql_connect("localhost", "root", "..."); if (mysql_select_db("aproj", $con)) { echo "Conectado com sucesso!"; }else { echo "Criando banco..."; $sql1 = "CREATE DATABASE `aproj`"; if ($con) { mysql_query($sql1); if(mysql_select_db("aproj")){ $sql2 = "CREATE TABLE usuarios( idusuario int primary key auto_increment, nome varchar(50), email varchar(50), telefone varchar(15), estado varchar(25), cidade varchar(25), cpf varchar(14), funcionario enum('S','N') )"; $sql3 = "CREATE TABLE suites( idsuite int primary key auto_increment, nome varchar(50), valor double(10,2), ocupacao enum('S','N'), id_usuario int, foreign key(id_usuario) references usuarios(idusuario) )"; if(mysql_query($sql2) && mysql_query($sql3)){ echo "<br/>Banco APROJ e suas tabelas USUÁRIO e SUÍTES criados com sucesso!"; } }else{ echo "<br/>Erro ao criar a tabela..."; } }else { echo "<br/>Erro ao criar o banco..."; } } ?> Editado Junho 6, 2012 por Victoralm Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 JaguA Postado Junho 5, 2012 Denunciar Share Postado Junho 5, 2012 se você colocar esta SQL de criar a tabela suite com a chave estrangeira direto no PhpMyAdmin da erro ? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Victoralm Postado Junho 5, 2012 Autor Denunciar Share Postado Junho 5, 2012 Boa tarde JaguA, obrigado pela resposta!Acredito q desta maneira não gere erro no PhpMyAdmin, porque é assim que faço via console.Mas, como preciso q este banco e suas tabelas sejam criados dinamicamente, imagino que o PhpMyAdmin não seria uma solução...Ou seria !?E, caso seja, como posso faze-lo!? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 JaguA Postado Junho 5, 2012 Denunciar Share Postado Junho 5, 2012 a questão é testar o seu código e te certeza que ele está funcionando... crie o código no sql se ele cria sem erro coloque no PHP e de comando de query... inclusive o PhpMyAdmin cria o código PHP para você. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Victoralm Postado Junho 5, 2012 Autor Denunciar Share Postado Junho 5, 2012 Boa noite JaguA!!Muito obrigado pela dica!Faltava inserir a coluna que seria definida como chave estrangeira, falta de atenção total minha...A alteração segue como abaixo:$sql3 = "CREATE TABLE suites( idsuite int primary key auto_increment, nome varchar(50), valor double(10,2), ocupacao enum('S','N'), id_usuario int, <-- Esta foi a linha que faltou... foreign key(id_usuario) references usuarios(idusuario) )";Mas, ainda quanto ao PhpMyAdmin... Poderia me passar o endereço de algum tutorial de como criar o código Php através dele !?Mais uma vez, muito obrigado! Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 JaguA Postado Junho 6, 2012 Denunciar Share Postado Junho 6, 2012 Victoralm, peço desculpa mas eu me equivoquei com esse lance do PhpMyAdmin, pois ao criar uma tabela, (pelo menos no meu aqui) ele não mostra o código, pois na janela SQL do PhpMyAdmin ele mostra um link -> Gerar PHP pode observa em um select ou em alguma inserção feita pelo PhpMyAdmin, de qualquer forma eu tinha para mim que ele mostrava o código quando criava uma tabela e sendo assim era so pedir para Gerar o PHP. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Victoralm Postado Junho 6, 2012 Autor Denunciar Share Postado Junho 6, 2012 Boa noite, JaguA!Uma pena mesmo que esta opção não exista no PhpMyAdmin, facilitaria bastante as coisas...Mas ainda assim, muito obrigado pela ajuda! Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Alceu13 Postado Junho 6, 2012 Denunciar Share Postado Junho 6, 2012 (editado) Apesar de estar resolvidoSegue um link de 1 Apostila basica PhpMyAdminlink direto para baixar apostilaApos ter criado no phpmyadmin, o bco, e a tabela. Selecione a tabelaClick em Exportar, E exporte no formato Sql, isto gerara um arquivo. com extencao sql com o script da tua tabela, com o nome da tua tabela.Apos isto Abra o wordpad.Neste tópico aki tem um video. tb de como usar o PhpMyAdminhttp://scriptbrasil.com.br/forum/index.php?showtopic=169653 Editado Junho 6, 2012 por Alceu13 Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Victoralm Postado Junho 6, 2012 Autor Denunciar Share Postado Junho 6, 2012 Boa tarde Alceu13!Muito bons, tanto a apostila quanto o vídeo!Muito obrigado pela dica tb! Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
Victoralm
RESOLVIDO
Segue abaixo o código já 100% funcional:
Editado por VictoralmLink para o comentário
Compartilhar em outros sites
8 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.