(PHP 4 >= 4.0.6, PHP 5 <= 5.0.5, PECL dbx >= 1.1.0)
dbx_query — Enviar una consulta y traer todos los resultado (si hubo alguno)
Envía una consulta u trae todos los resultados.
El objeto de enlace de DBX devuelto por dbx_connect()
Declaración SQL.
La información dentro de la consulta deberíla ser adecuadamente escapada.
El parámetro flags se usa para controlar la cantidad de niformación que es devuelta. Puede ser cualquier combinación de las siguientes constantes con el operador a nivel de bit OR (|). Las banderas (flags) DBX_COLNAMES_* sobrescriben la configuración dbx.colnames_case del php.ini.
dbx_query() devuelve un objeto o 1 si se tuvo éxtio, y 0 si falló. El objeto resultado es devuelto sólo si la consulta dada en sql_statement produce un conjunto de resultados (es decir, una consulta SELECT, incluso si el conjunto de resultados está vacío).
El objeto resultado tiene cuatro o cinco propiedades dependiendo de flags:
Es un gestor válido para la base de datos conectada, y como tal se puede usar en las funciones específicas del módulo (si se requiere).
<?php
$resultado = dbx_query($enlace, "SELECT id FROM table");
mysql_field_len($resultado->handle, 0);
?>
Estas contienen el número de columnas (o campos) y de filas (o registros) respectivamente.
<?php
$resultado = dbx_query($enlace, 'SELECT id FROM table');
echo $resultado->rows; // número de registros
echo $resultado->cols; // número de campos
?>
Example #1 listar cada nombre de campo y tipo
<?php
$resultado = dbx_query($enlace, 'SELECT id FROM table',
DBX_RESULT_INDEX | DBX_RESULT_INFO);
for ($i = 0; $i < $resultado->cols; $i++ ) {
echo $resultado->info['name'][$i] . "\n";
echo $resultado->info['type'][$i] . "\n";
}
?>
Example #2 imprimir el contenido de la propiedad data en una tabla HTML
<?php
$resultado = dbx_query($link, 'SELECT id, parentid, description FROM table');
echo "<table>\n";
foreach ($resultado->data as $fila) {
echo "<tr>\n";
foreach ($fila as $campo) {
echo "<td>$campo</td>";
}
echo "</tr>\n";
}
echo "</table>\n";
?>
Example #3 Cómo tratar las consultas UNBUFFERED
<?php
$resultado = dbx_query ($enlace, 'SELECT id, parentid, description FROM table', DBX_RESULT_UNBUFFERED);
echo "<table>\n";
while ($fila = dbx_fetch_row($resultado)) {
echo "<tr>\n";
foreach ($fila as $campo) {
echo "<td>$campo</td>";
}
echo "</tr>\n";
}
echo "</table>\n";
?>
Versión | Descripción |
---|---|
5.0.0 | Se introdujo DBX_RESULT_UNBUFFERED. |
4.3.0 | Se introdujo DBX_COLNAMES_UNCHANGED, DBX_COLNAMES_UPPERCASE, y DBX_COLNAMES_LOWERCASE. |
Example #4 Cómo tratar el valor devuelto
<?php
$enlace = dbx_connect(DBX_ODBC, "", "db", "username", "password")
or die("No se pudo conectar");
$resultado = dbx_query($enlace, 'SELECT id, parentid, description FROM table');
if (is_object($resultado) ) {
// ... hacer algo aquí, ver ejemplos detallados más adelante ...
// primero, imprimir los nombres de campos y tipos
// después, dibujar una tabla rellenada con los valores de los campos devueltos
} else {
exit("La consulta falló");
}
dbx_close($enlace);
?>
Note:
Consulte siempre la documentación específica del módulo también.
Los nombres de columnas en una base de datos Oracle son devueltos en minúsculas.