Verifica se já existe bd

1,189 views
Skip to first unread message

igor82

unread,
Oct 22, 2008, 1:22:42 PM10/22/08
to LISTA PHP
Ae pessoal, eu quero criar um banco de dados no código php, mas antes
de criar eu quero que seja feita uma verificação se o bd já existe ou
não, caso exista para que faço as pesquisas que tem que fazer, caso
não exista criar um na hora e consequentemente criar tabelas. Tem como
me dar uma ajuda ae pessoal? Valeu

Aurelio Saraiva

unread,
Oct 22, 2008, 1:28:08 PM10/22/08
to list...@googlegroups.com
manda cria e pega o retorno do error caso ja exista...

2008/10/22 igor82 <igo...@gmail.com>

Marcus Brasizza

unread,
Oct 22, 2008, 1:31:56 PM10/22/08
to list...@googlegroups.com
Mysql?
da um show databases,
vai retornar todos os bancos;
grava em um array;
procura no array se o banco q vc vai criar ja existe no array;

Simples ;)


2008/10/22 Aurelio Saraiva <aurelio...@gmail.com>



--
Blog Programaçao Especialista
http://my.opera.com/artigos
-->ZEND PHP Certified.
-->UML BORLAND Cerfified.
-->Piadista Certified.


Renato de Freitas Freire

unread,
Oct 22, 2008, 1:43:22 PM10/22/08
to list...@googlegroups.com
usa o mysql_db_name() para ver se o banco ja existe... e o mysql_create_db() para criar a base de dados, caso nao exista...

tipo.. (exemplo do manual php)

<?php
error_reporting
(E_ALL);

$link mysql_connect('dbhost''username''password');
$db_list mysql_list_dbs($link);

$i 0;
$cnt mysql_num_rows($db_list);
while (
$i $cnt) {
    echo 
mysql_db_name($db_list$i) . "\n";
    
$i++;
}
?>



agora cabe a vc modificar para suas necessidades...

--
Renato de Freitas Freire
ren...@morfer.org


2008/10/22 Marcus Brasizza <mvbdesenv...@gmail.com>

Wemerson Januario

unread,
Oct 22, 2008, 1:38:12 PM10/22/08
to list...@googlegroups.com
usa ajax

2008/10/22 Marcus Brasizza <mvbdesenv...@gmail.com>



--
Att,
Wemerson Januario da Silva
Desenvolvedor Web/
Supervisor de Atendimento SRF
62 84321645
wemerson...@gmail.com

igor82

unread,
Oct 22, 2008, 1:51:04 PM10/22/08
to LISTA PHP
Ae aurelio eu testei isso de criar e testar se já existe, funcionou
normal, mas tbm testarei os outro métodos dos colegas para ver qual
será o mais "sensato" a se utilizar. Valeu pessoal

On 22 out, 16:38, "Wemerson Januario" <wemerson.janua...@gmail.com>
wrote:
> usa ajax
>
> 2008/10/22 Marcus Brasizza <mvbdesenvolvime...@gmail.com>
>
>
>
> > Mysql?
> > da um show databases,
> > vai retornar todos os bancos;
> > grava em um array;
> > procura no array se o banco q vc vai criar ja existe no array;
>
> > Simples ;)
>
> > 2008/10/22 Aurelio Saraiva <aureliosara...@gmail.com>
>
> >> manda cria e pega o retorno do error caso ja exista...
>
> >> 2008/10/22 igor82 <igor...@gmail.com>
>
> >>> Ae pessoal, eu quero criar um banco de dados no código php, mas antes
> >>> de criar eu quero que seja feita uma verificação se o bd já existe ou
> >>> não, caso exista para que faço as pesquisas que tem que fazer, caso
> >>> não exista criar um na hora e consequentemente criar tabelas. Tem como
> >>> me dar uma ajuda ae pessoal? Valeu
>
> > --
> > Blog Programaçao Especialista
> >http://my.opera.com/artigos
> > -->ZEND PHP Certified.
> > -->UML BORLAND Cerfified.
> > -->Piadista Certified.
>
> --
> Att,
> Wemerson Januario da Silva
> Desenvolvedor Web/
> Supervisor de Atendimento SRF
> 62 84321645
> wemerson.janua...@gmail.com

João Telmo Cabral Junior

unread,
Oct 22, 2008, 1:54:33 PM10/22/08
to list...@googlegroups.com
opa...
você deveria tbm verificar se o usuário atual tem a permissão de criar
database...
mtas hospedagens bloqueiam isso....
não sei qual o teu caso...mas de qualquer forma fica aí a informação.

igor82

unread,
Oct 22, 2008, 1:59:46 PM10/22/08
to LISTA PHP
Opa valeu pela info cara. Vou verificar isso

On 22 out, 16:54, João Telmo Cabral Junior <cab...@virtualiza.com.br>
wrote:

Laerte Mateus Rodrigues

unread,
Oct 22, 2008, 1:58:22 PM10/22/08
to list...@googlegroups.com
Query

CREATE DATABASE IF NOT EXISTS <nome_banco>

CREATE TABLE IF NOT EXISTS <nome_tabela> (...)

sacou?

igor82

unread,
Oct 22, 2008, 2:11:35 PM10/22/08
to LISTA PHP
Laerte, uma pergunta, eu coloco esse query mas com esse "IF NOT
EXISTIS" eu não preciso fzer nenhuma condição mais?

On 22 out, 16:58, "Laerte Mateus Rodrigues" <laert...@gmail.com>
wrote:

Renato de Freitas Freire

unread,
Oct 22, 2008, 2:15:17 PM10/22/08
to list...@googlegroups.com
CREATE DATABASE IF NOT EXISTS <nome_banco>

Essa query só cria a database SE ela ja nao existir...
SE ela existir, ela nao eh executada e nao gera nenhum erro...

--
Renato de Freitas Freire
ren...@morfer.org


Paulo Diovani

unread,
Oct 22, 2008, 2:19:49 PM10/22/08
to list...@googlegroups.com
Igor. Lembre que alguns comandos para criar base de dados ou tabelas
são Exclusivos de alguns Softwares de Bancos de Dados.
Assim, a cláusula IF NOT EXISTS é melhor solução para o MySQL, mas não
deve funcionar em outras bases.

Se sua aplicação vai usar Apenas e Exclusicamente MySQL o exemplo do
Laerte deve funcionar. Caso você deseja que ela seja portável para
outras bases (e geralmente se deseja isto), resta a você utilizar
padrões SQL e testar explicitamente se as bases e tabelas existem.

Por exemplo, os comandos *_select_db() do php vão retornar false se a
base não existir. E uym "SELECT 1 FROM [nome tabela] LIMIT 1" é o
suficiente para saber se uma tabela existe em qualquer base existem
(acho).
--
Paulo Diovani
pa...@diovani.com
+55 51 8146 5413
___________________
http://www.diovani.com

Laerte Mateus Rodrigues

unread,
Oct 22, 2008, 2:18:15 PM10/22/08
to list...@googlegroups.com
não, o IF NOT EXISTS é justamente pra isto.
Reply all
Reply to author
Forward
0 new messages