Segunda-feira, 19 de agosto de 2002 às 01h59

PHP & Oracle - Parte 05

Faltam -1 dias! Inscreva-se agora! O maior encontro de profissionais web da américa latina.
Fala galera!

Semana passada aprendemos a inserir dados em uma base de dados Oracle. Chegamos hoje ao nosso último e mais importante artigo sobre Oracle, que é recuperar os dados que estão cadastrados na tabela. Quem trabalha com banco de dados, com certeza sabe do que eu estou falando, são dezenas de SELECTS por dia para montar aquele relatório que o chefe está esperando pra "ontem". (risos)

Vamos lá:

Arquivo conecta_ora.php

Esse arquivo é o responsável pela conexão com o banco de dados Oracle.


$ora_user = "system";
//USUÁRIO
$ora_senha = "manager";
//SENHA

$ora_conecta = @ocilogon($ora_user,$ora_senha);

if(!$ora_conecta)
echo "ERRO !! Por favor, verifique se o usuário e a senha estão digitados corretamente!";
?>

Arquivo select.php

O arquivo select.php irá exibir os dados cadastrados no banco de dados.


include "conecta_ora.php"; //ARQUIVO DE CONEXÃO COM O BANCO DE DADOS ORACLE

//CLÁUSULA SQL
$sql = "SELECT * FROM IMASTERS";

//ANALISA
$sql = ociparse($ora_conecta,$sql) or die("ERRO NA ANÁLISE DA CLÁUSULA SQL");

//EXECUTA
ociexecute($sql,OCI_DEFAULT);

//EXIBE OS RESULTADOS NA TELA
echo "

LISTA DOS COLUNISTAS CADASTRADOS

";

while(Ocifetch($sql)) {
echo "Colunista: ".ociresult($sql,"COLUNISTA")."
";
echo "Assunto: ".ociresult($sql,"ASSUNTO")."

";
}


ocifreestatement($sql); //LIBERA DA MEMÓRIA
ocilogoff($sql); //DESCONECTA DO ORACLE
?>


No script acima, fizemos uso do OCIFetch (retorna o próximo registro no buffer interno de resultados) e do OCIResult (retorna o valor da coluna do registro lido).

Depois de ter feito os dois scripts acima, execute ele em seu navegador. Se tudo ocorrer bem, você estará vendo uma tela com os dados que estavam cadastrados na tabela. No meu caso, eu tinha dois cadastrados.

Não deixe de nos enviar críticas ou sugestões para o próximo assunto, afinal a coluna é de vocês.

5 comentários

 leonardo Odair
24/05/2004 11h51

Update

Gostaria de ajuda para fazer um update em uma tabela utilizando o Oracle 8i e php 4. Tentei fazer seguindo o exemplo do insert mas o dado não foi alterado no banco. Os exemplos colocados funcinaram direitinho, me falta só o update. Obrigada!

 roslaine maria lima
17/06/2004 13h20

Update

Assim como a nossa amiga Fabiane gostaria de saber como proceder para realizar o update. fico no aguardo e desde parabenizo pelo artigo

 Paulo Vítor Souza Reis
30/07/2004 17h30

Dúvida - While

Caro Júlio;

Ao fazer o teste como seu exemplo, tudo está OK, até na hora de entrar no loop WHILE. Ao fazer um pequeno debug, verifico que a condição do while não funciona, ou seja, não entra no while. O que pode ser ??? Verifico tb que o número de colunas que é retornado pela função OCINumCols está correto.

Desde já agradeço a atenção e espero que vc ou alguém tenha a solução.

 Kleber Novais
28/02/2005 11h22

Erro: Oracle com PHP

ola colegas virtuais,
primeiramente parabens pelo artigo... mas tem um porem.
Na funcao ociexecute() retorna o seguinte erro. OCIStmtExecute: ORA-00942: a tabela ou view não existe... Ja tentei de varias forma usando outras funcoes tb... mas ainda nao consigo trazer os dados da tabela... O servidor é win2000 com oracle8 e php4... os modulos ja estao ativo no php.ini ... eu ja fiz de tudo mas nao consigo listar os dados da tabela... ALGUEM PODE ME AJUDARRR...rs..
valeu galera...
Handerson

 leonardo de salles
08/02/2006 08h49

como conectar o PHP ao SGBD Oracle quando este está em outro servidor?

Bem, minha situação é que preciso referenciar um datasurce ou tnsname a fim de conectar ao banco oracle... então, qual função devo usar para essa conexão?

obrigado,

Leonardo.

Cancelar resposta

Qual a sua opinião?

Faça login abaixo ou cadastre-se rapidamente.


Sobre o Autor
Júlio César Martini atualmente presta serviços de WebMaster/Programador para o UOL (http://www.uol.com.br), Graduado em Tecnólogo em Informática pela UNIFIAN - Faculdades Anhanguera e Pós-Graduado em Desenvolvimento de Software para Web pela UFSCAR. Foi o primeiro profissional a chegar à marca de 100 artigos publicados no iMasters e trabalha com PHP desde 2000. Site: http://www.juliocesarmartini.com

2001 - iMasters FFPA Informática Ltda - Todos os direitos reservados.