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/