• 0
Sign in to follow this  
Victoralm

[RESOLVIDO] Problemas com criação de banco via php

Question

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 !!!

RESOLVIDO

Segue 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 by Victoralm

Share this post


Link to post
Share on other sites

8 answers to this question

Recommended Posts

  • 0

se você colocar esta SQL de criar a tabela suite com a chave estrangeira direto no PhpMyAdmin da erro ?

Share this post


Link to post
Share on other sites
  • 0

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!?

Share this post


Link to post
Share on other sites
  • 0

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ê.

Share this post


Link to post
Share on other sites
  • 0

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!

Share this post


Link to post
Share on other sites
  • 0

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.

Share this post


Link to post
Share on other sites
  • 0

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!

Share this post


Link to post
Share on other sites
  • 0

Apesar de estar resolvido

Segue um link de 1 Apostila basica PhpMyAdmin

link direto para baixar apostila

Apos ter criado no phpmyadmin, o bco, e a tabela.

Selecione a tabela

Click 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 PhpMyAdmin

http://scriptbrasil.com.br/forum/index.php?showtopic=169653

Edited by Alceu13

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this