(PHP 4 >= 4.0.6, PHP 5 <= 5.0.5, PECL dbx:1.1.0)
dbx_query — Envia uma requisição e armazena todos os resultados (se houver)
A função dbx_query() retorna um objeto ou o número 1 em caso de sucesso, e 0 se falhar. O resultado em forma de objeto somente é retornado, caso a requisição no parâmetro comandos_sql produzir este resultado (ex: um SELECT query, mesmo se o resultado retornado está vazio).
Example#1 Como tratar os resultados retornados
<?php
$link = dbx_connect(DBX_ODBC, "", "bd", "nome de usuário", "senha")
or die("Não foi possível conectar");
$result = dbx_query($link, 'SELECT id, parentid, descricao FROM tabela');
if ( is_object($result) ) {
// ... faz alguma coisa aqui, veja detalhes nos exemplos abaixo...
// primeiro, imprima os nomes e tipos dos campos
// depois, desenhar uma tabela contendo os valores dos campos
}
else {
exit("Requisição falhou");
}
dbx_close($link);
?>
O parâmetro flags é usado para controlar a quantiodade de informação que é retornada. Estas informações podem ser qualquer combinação de uma das constantes abaixo usando o operador bitwise OR (|). As flags DBX_COLNAMES_* quando usadas, substituem as dbx.colnames_case configuradas no php.ini.
O objeto retornado contém quatro ou cinco propriedades dependendo do parâmetro flags :
É um evento válido para a conexão com o banco de dados, e como tal pode ser usado nas funções do módulo específico (se necessário).
<?php
$result = dbx_query ($link, "SELECT id FROM tabela");
mysql_field_len ($result->handle, 0);
?>
Estas propriedades conte´m o número das colunas (ou campos) e das linhas (ou registros) respectivamente.
<?php
$result = dbx_query ($link, 'SELECT id FROM tabela');
echo $result->rows; // número de registros
echo $result->cols; // número de campos
?>
Example#2 lista cada nome e tipo de campo
<?php
$result = dbx_query ($link, 'SELECT id FROM tabela',
DBX_RESULT_INDEX | DBX_RESULT_INFO);
for ($i = 0; $i < $result->cols; $i++ ) {
echo $result->info['name'][$i] . "\n";
echo $result->info['type'][$i] . "\n";
}
?>
Example#3 colocando o conteúdo da propriedade data em uma tabela HTML
<?php
$resultado = dbx_query ($link, 'SELECT id, parentid, descricao FROM tabela');
echo "<table>\n";
foreach ( $resultado->data as $linha ) {
echo "<tr>\n";
foreach ( $linha as $campo ) {
echo "<td>$campo</td>";
}
echo "</tr>\n";
}
echo "</table>\n";
?>
Example#4 Como tratar requisições "UNBUFFERED"
$resultado = dbx_query ($link, 'SELECT id, parentid, descricao FROM tabela', DBX_RESULT_UNBUFFERED);
echo "<table>\n";
while ( $linha = dbx_fetch_row($resultado) ) {
echo "<tr>\n";
foreach ( $linha as $campo ) {
echo "<td>$campo</td>";
}
echo "</tr>\n";
}
echo "</table>\n";
Nota: Sempre refira-se à documentação do módulo-específico quando necessário.
Os nomes das colunas em uma requisição de um banco de dados Oracle são retornados em caixa baixa.
Veja também dbx_escape_string(), dbx_fetch_row() e dbx_connect().