Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Márcio T.

Página PHP que crie o Banco de dados

Recommended Posts

Gostaria de saber como se faz uma página PHP que faça o seguinte:1. CREATE DATABASE2. CREATE TABLE3. INSERT INTOComo fazer isso? Já tentei mas não consegui :(

Compartilhar este post


Link para o post
Compartilhar em outros sites

Como você tentou?

Use mysql_query() como se estivesse fazendo uma inserção, edição, seleção.

 

[]'s

Estou usando o mysql_query(), mas ele ta dando um erro:

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '; CREATE TABLE tabela2 ( id INTEGER(5) UNSIGNED NOT' at line 6

 

O código

$sql = "CREATE TABLE tabela1 (			  id INTEGER(2) UNSIGNED NOT NULL AUTO_INCREMENT,			  campo1 VARCHAR(20) NOT NULL,			  campo2 VARCHAR(20) NOT NULL,			  PRIMARY KEY(id)		   );		   CREATE TABLE tabela2 (			  id INTEGER(2) UNSIGNED NOT NULL AUTO_INCREMENT,			  campo1 VARCHAR(20) NOT NULL,			  campo2 VARCHAR(20) NOT NULL,			  PRIMARY KEY(id)		   );";$resultado = mysql_query($sql) or die (mysql_error());
Sabe qual é o problema?

 

 

 

 

Encontrei um exemplo na internet:

$cria = "CREATE TABLE exemplo (codigo INT AUTO_INCREMENT PRIMARY KEY, nome CHAR(40), email CHAR(50))";$insere1 = "INSERT INTO exemplo (nome,email) VALUES ("teste1","teste@teste.com.br");$insere2 = "INSERT INTO exemplo (nome,email) VALUES ("teste2","teste2@teste2.com.br");$insere3 = "INSERT INTO exemplo (nome,email) VALUES ("teste3","teste3@teste3.com.br");$insere4 = "INSERT INTO exemplo (nome,email) VALUES ("teste4","teste4@teste4.co.br");mysql_query($cria, $conexao);mysql_query($insere1, $conexao);mysql_query($insere2, $conexao);mysql_query($insere3, $conexao);mysql_query($insere4, $conexao);
Tem um modo mais simples do que esse?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Estou usando o mysql_query(), mas ele ta dando um erro:

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '; CREATE TABLE tabela2 ( id INTEGER(5) UNSIGNED NOT' at line 6

 

O código

$sql = "CREATE TABLE tabela1 (
			  id INTEGER(2) UNSIGNED NOT NULL AUTO_INCREMENT,
			  campo1 VARCHAR(20) NOT NULL,
			  campo2 VARCHAR(20) NOT NULL,
			  PRIMARY KEY(id)
		   );

		   CREATE TABLE tabela2 (
			  id INTEGER(2) UNSIGNED NOT NULL AUTO_INCREMENT,
			  campo1 VARCHAR(20) NOT NULL,
			  campo2 VARCHAR(20) NOT NULL,
			  PRIMARY KEY(id)
		   );";

$resultado = mysql_query($sql) or die (mysql_error());

Sabe qual é o problema?

Tire o ponto-e-vírgula do fim do primeiro "Create Table". Teste e veja se dá certo.

 

 

Em contrei um exemplo na internet:

$cria = "CREATE TABLE exemplo (codigo INT AUTO_INCREMENT PRIMARY KEY, nome CHAR(40), email CHAR(50))";
$insere1 = "INSERT INTO exemplo (nome,email) VALUES ("teste1","teste@teste.com.br");
$insere2 = "INSERT INTO exemplo (nome,email) VALUES ("teste2","teste2@teste2.com.br");
$insere3 = "INSERT INTO exemplo (nome,email) VALUES ("teste3","teste3@teste3.com.br");
$insere4 = "INSERT INTO exemplo (nome,email) VALUES ("teste4","teste4@teste4.co.br");

mysql_query($cria, $conexao);
mysql_query($insere1, $conexao);
mysql_query($insere2, $conexao);
mysql_query($insere3, $conexao);
mysql_query($insere4, $conexao);

Tem um modo mais simples do que esse?

Mais simples? Tente assim:

 

$cria = "CREATE TABLE exemplo (codigo INT AUTO_INCREMENT PRIMARY KEY, nome CHAR(40), email CHAR(50))";

$insere = "INSERT INTO exemplo (nome,email) VALUES ("teste1","teste@teste.com.br"), ("teste2","teste2@teste2.com.br"), ("teste3","teste3@teste3.com.br"), ("teste4","teste4@teste4.co.br")";

mysql_query($cria, $conexao);
mysql_query($insere, $conexao);

 

[]'s

Compartilhar este post


Link para o post
Compartilhar em outros sites

 

Estou usando o mysql_query(), mas ele ta dando um erro:

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '; CREATE TABLE tabela2 ( id INTEGER(5) UNSIGNED NOT' at line 6

 

O código

$sql = "CREATE TABLE tabela1 (			  id INTEGER(2) UNSIGNED NOT NULL AUTO_INCREMENT,			  campo1 VARCHAR(20) NOT NULL,			  campo2 VARCHAR(20) NOT NULL,			  PRIMARY KEY(id)		   );		   CREATE TABLE tabela2 (			  id INTEGER(2) UNSIGNED NOT NULL AUTO_INCREMENT,			  campo1 VARCHAR(20) NOT NULL,			  campo2 VARCHAR(20) NOT NULL,			  PRIMARY KEY(id)		   );";$resultado = mysql_query($sql) or die (mysql_error());
Sabe qual é o problema?
Tire o ponto-e-vírgula do fim do primeiro "Create Table". Teste e veja se dá certo.

 

 

Em contrei um exemplo na internet:

$cria = "CREATE TABLE exemplo (codigo INT AUTO_INCREMENT PRIMARY KEY, nome CHAR(40), email CHAR(50))";$insere1 = "INSERT INTO exemplo (nome,email) VALUES ("teste1","teste@teste.com.br");$insere2 = "INSERT INTO exemplo (nome,email) VALUES ("teste2","teste2@teste2.com.br");$insere3 = "INSERT INTO exemplo (nome,email) VALUES ("teste3","teste3@teste3.com.br");$insere4 = "INSERT INTO exemplo (nome,email) VALUES ("teste4","teste4@teste4.co.br");mysql_query($cria, $conexao);mysql_query($insere1, $conexao);mysql_query($insere2, $conexao);mysql_query($insere3, $conexao);mysql_query($insere4, $conexao);
Tem um modo mais simples do que esse?
Mais simples? Tente assim:

 

$cria = "CREATE TABLE exemplo (codigo INT AUTO_INCREMENT PRIMARY KEY, nome CHAR(40), email CHAR(50))";$insere = "INSERT INTO exemplo (nome,email) VALUES ("teste1","teste@teste.com.br"), ("teste2","teste2@teste2.com.br"), ("teste3","teste3@teste3.com.br"), ("teste4","teste4@teste4.co.br")";mysql_query($cria, $conexao);mysql_query($insere, $conexao);

[]'s

 

Tirei o ; (Ponto e Virgula) e agora deu esse erro

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'CREATE TABLE tabela2 ( id INTEGER(5) UNSIGNED NOT NULL AUTO_INCRE' at line 8

 

O INSERT funcionou conforme você indicou http://forum.imasters.com.br/public/style_emoticons/default/joia.gif

 

Beraldo, andei testando aqui e acho que só é possível criar uma tabela por vez, mesma coisa é para o insert.

 

Aguardo

Compartilhar este post


Link para o post
Compartilhar em outros sites

é nao pode apagar o ponto e virgula faz parte das instruções sql, senao o mysql nao vai saber quando acabou o comando

Ok, Fabyo http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif

 

Aproveitado, será que você pode responder as minhas dúvidas nesses tópicos abaixo? Ficarei muito grato.

-> Problema com acentos (Problema diferente), Procurei no forum mas não achei a solução...

-> Dúvida sobre Session, Bug?

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.