PHP
Ligação à Base de Dados
ODBC – Open DataBase Connectivity
z É um standard Microsoft para acesso a
diferentes sistemas de bases de dados, entre os
quais se encontra o Oracle
z Oferece uma API com um conjunto de funções
para aceder aos SGBDs numa filosofia clienteservidor
z Com a mesma API pode ainda aceder-se a
ficheiros Excel, ficheiros de texto, etc.
z É necessário apenas ter o correspondente
driver ODBC instalado
Funções ODBC
z Obter um identificador de uma ligação à BD:
resource odbc_connect(string driver, string user, string password)
Em caso de erro devolve 0
z Executar um comando SQL
result odbc_exec(resource connection, string query)
Dá o identificador do resultado ou FALSE em caso de erro
Funções ODBC (Cont.)
zPercorrer as linhas resultantes de um
SELECT
boolean odbc_fetch_row(resource connection , int row)
Devolve TRUE ou FALSE consoante existam mais linhas ou não.
value odbc_result(resource result, int field)
Devolve o resultado para um determinado atributo da lista de selecção.
Funções ODBC (Cont.)
z Libertar a memória ocupada pelo conjunto de linhas
resultantes do SELECT
boolean odbc_free_result(resource result)
z Terminar a ligação à BD
boolean odbc_close(resource connection_id)
Exemplo - Consulta
<html>
<head><title> Exemplo de Consulta </title></head>
<body>
<?php
$conn = odbc_connect('OracleODBC','mart','mart');
$query = 'SELECT num_aluno, nome_aluno, nome_curso';
$query .= 'FROM aluno a, curso c';
$query .= 'WHERE a.cod_curso = c.cod_curso ORDER BY nome_aluno';
$res = odbc_exec($conn, $query);
$NBOF = odbc_fetch_row($res,1);
print '<table>';
print '<tr><th>Numero</th><th>Nome do Aluno</th><th>Curso</th></tr>';
while($NBOF):
print '<tr><td>'.odbc_result($res,1).'</td>';
print '<td>'.odbc_result($res,2).'</td>';
print '<td>'.odbc_result($res,3).'</td></tr>';
$NBOF = odbc_fetch_row($res);
endwhile;
print '</table>';
odbc_free_result($res);
odbc_close($conn);
?>
</body>
Exemplos: http://bd.est.ips.pt/bd/mart/
</html>
Referências Úteis
zPost and Get methods: “what’s the
difference?”
http://www.cs.tut.fi/~jkorpela/forms/method
s.html
zManual de PHP: http://pt.php.net/manual/
Download

Ligação à Base de Dados