Victoralm Posted June 5, 2012 Report Share Posted June 5, 2012 (edited) 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..."; } } ?> Edited June 6, 2012 by Victoralm Quote Link to comment Share on other sites More sharing options...
0 JaguA Posted June 5, 2012 Report Share Posted June 5, 2012 se você colocar esta SQL de criar a tabela suite com a chave estrangeira direto no PhpMyAdmin da erro ? Quote Link to comment Share on other sites More sharing options...
0 Victoralm Posted June 5, 2012 Author Report Share Posted June 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!? Quote Link to comment Share on other sites More sharing options...
0 JaguA Posted June 5, 2012 Report Share Posted June 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ê. Quote Link to comment Share on other sites More sharing options...
0 Victoralm Posted June 5, 2012 Author Report Share Posted June 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! Quote Link to comment Share on other sites More sharing options...
0 JaguA Posted June 6, 2012 Report Share Posted June 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. Quote Link to comment Share on other sites More sharing options...
0 Victoralm Posted June 6, 2012 Author Report Share Posted June 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! Quote Link to comment Share on other sites More sharing options...
0 Alceu13 Posted June 6, 2012 Report Share Posted June 6, 2012 (edited) 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 Edited June 6, 2012 by Alceu13 Quote Link to comment Share on other sites More sharing options...
0 Victoralm Posted June 6, 2012 Author Report Share Posted June 6, 2012 Boa tarde Alceu13!Muito bons, tanto a apostila quanto o vídeo!Muito obrigado pela dica tb! Quote Link to comment Share on other sites More sharing options...
Question
Victoralm
RESOLVIDO
Segue abaixo o código já 100% funcional:
Edited by VictoralmLink to comment
Share on other sites
8 answers to this question
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.