Jump to content


Photo

Importar Dados Do Arquivo.sql


  • Faça o login para participar
4 replies to this topic

#1 mofo

mofo

    12 Horas

  • Usuários
  • 169 posts
  • Sexo:Não informado

Posted 11/04/2009, 14:54

echo $buffer = file_get_contents("Backup/tipo_funcionario--11-04-2009-01-29-43.sql");
	mysql_query($buffer) or die(mysql_error());

Veja que estou dando echo ali em cima, eu pego o que me retorna desse echo e inserio Manualmente no phpmyadmin e funciona mas esse mesma querry que foi inserida com sucesso no phpmyadmin não funciona quando executada no php.

CREATE TABLE tipo_funcionario ( codigo_tipo_funcionario int(11) NOT NULL auto_increment, tipo_funcionario varchar(50) NOT NULL , privilegio_funcionario int(11) NOT NULL , PRIMARY KEY (codigo_tipo_funcionario) ); INSERT INTO tipo_funcionario VALUES('1' , 'Administrador' , '1'); INSERT INTO tipo_funcionario VALUES('2' , 'Usuario' , '3');

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 'INSERT INTO tipo_funcionario VALUES('1' , 'Administrador' , '1'); INSERT INTO ti' at line 8

Edição feita por: mofo, 11/04/2009, 17:32.


#2 Dudu

Dudu

    Viva la vida

  • Usuários
  • 1437 posts
  • Sexo:Masculino
  • Localidade:Uberlândia - MG
  • Interesses:PHP

Posted 13/04/2009, 14:25

É permitido somente uma ação por query.
Ou seja, você só pode utilizar 1ação (CREATE, INSERT, ALTER, etc) por mysql_query().

Você terá que criar um método para identificar onde começa e onde termina cada comando no seu arquivo.
Feito isso, gere um loop, e cada ação, você aplica um mysql_query().

Até mais ^_^

Fórum WMO - Equipe de Desenvolvimento / Banco de Dados - Moderador


Twitter: HostCheap


#3 DarkSign

DarkSign

    Doutor

  • Usuários
  • 868 posts
  • Sexo:Masculino
  • Localidade:Brasil
  • Interesses:Tecnologias na área WEB em geral e desenvolvimento.

Posted 13/04/2009, 15:01

Olá, já passei pelo seu problema, e não, não dá pra importar tudo direto.

O que você pode fazer, é como eu fiz. Pegar esse arquivo .sql e separar a parte de criação de tabelas e de adição de conteúdo. Eu fiz assim:

<?php
	include_once("config.php");
	//Instalar BD da Horizonte
	$sql = "CREATE TABLE `users` (
  `id` int(5) NOT NULL auto_increment,
  `nome` varchar(255) NOT NULL,
  `nasc` date NOT NULL,
  `email` varchar(255) default NULL,
  `nick` varchar(255) NOT NULL,
  `pass` varchar(255) NOT NULL,
  `permis` varchar(37) NOT NULL,
  `fp` int(7) NOT NULL,
  PRIMARY KEY  (`id`)
)";
	$res1 = mysql_query($sql);
	$sql = "INSERT INTO `users` (`id`, `nome`, `nasc`, `email`, `nick`, `pass`, `permis`, `fp`) VALUES 
(1, 'Darksign', '1988-11-05', 'email@gmail.com', 'eduardowb', 'senha', '1.2.3.4.5.6.7.8.9.10.11.12.13.14', 10000),
(2, 'Fastspeedy', '1991-03-06', 'email@hotmail.com', 'fastspeedy', 'senha', '1.2.3.4.5.6.7.8.9.10.11.12.13.14', 30533),
(3, 'Ze Mane', '2008-02-15', 'ze@mane.com', 'zemane', '123', '0', 10)";
	$res2 = mysql_query($sql);
?>

Observe que chamo um arquivo config.php, que apenas contem as defs de banco de dados necessárias para a conexão, em seguida executo a primeira query, criando as tabelas, e em seguida executo a outra query, inserindo os dados.

Observe também que tive que mudar algumas coisas na sintaxe que o PHPMyAdmin cria, para que a função SQL execute com sucesso.

Dá uma analisada e qualquer dúvida volte a postar.

/*DarkSign*/
Não sabe por onde começar? Que tal pelas Regras ?

#4 lwirkk

lwirkk

    Veterano

  • Usuários
  • 1314 posts
  • Sexo:Não informado

Posted 13/04/2009, 18:58

Aqui acho que funciona também ^.^
http://phpbrasil.com...faq.php/id/2234
Posted Image
"Se quiser ser feliz por um dia, vingue-se; se quiser ser feliz por uma vida inteira, perdoe."

Muito Obrigado à todos do fórum, e à toda equipe do fórum! =)

#5 MarcoviZ

MarcoviZ

    ubuntu for human being

  • Usuários
  • 1137 posts
  • Sexo:Não informado

Posted 17/04/2009, 15:13

você pode fazer todos os inserts de uma vez mas usando apenas um comando e repetindo apenas as colunas com os valores...

insert into tabela (campo1, campo2, campo3) VALUES ('valor1', 'valor2', 'valor13'), ('valor1', 'valor2', 'valor13')...

[]'s
[]'s




1 user(s) are reading this topic

0 membro(s), 1 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq