ConFoo: Call for paper is now Open

oci_field_size

(PHP 5, PECL OCI8 >= 1.1.0)

oci_field_sizeDevuelve el tamaño de un campo

Descripción

int oci_field_size ( resource $statement , mixed $field )

Devuelve el tamaño del campo dado por field.

Parámetros

statement

Un identificador de sentencia de OCI válido.

field

Puede ser un índice de campo (basado en 1) o un nombre.

Valores devueltos

Devuelve el tamaño de field en bytes, o FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de oci_field_size()

<?php

// Crear la tabla con:
//   CREATE TABLE mytab (number_col NUMBER, varchar2_col varchar2(1), 
//                       clob_col CLOB, date_col DATE);

$conn oci_connect("hr""hrpwd""localhost/XE");
if (!
$conn) {
    
$m oci_error();
    
trigger_error(htmlentities($m['message']), E_USER_ERROR);
}

$stid oci_parse($conn"SELECT * FROM mytab");
oci_execute($stidOCI_DESCRIBE_ONLY); // Use OCI_DESCRIBE_ONLY if not fetching rows

echo "<table border=\"1\">\n";
echo 
"<tr>";
echo 
"<th>Name</th>";
echo 
"<th>Type</th>";
echo 
"<th>Length</th>";
echo 
"</tr>\n";

$ncols oci_num_fields($stid);

for (
$i 1$i <= $ncols$i++) {
    
$column_name  oci_field_name($stid$i);
    
$column_type  oci_field_type($stid$i);
    
$column_size  oci_field_size($stid$i);

    echo 
"<tr>";
    echo 
"<td>$column_name</td>";
    echo 
"<td>$column_type</td>";
    echo 
"<td>$column_size</td>";
    echo 
"</tr>\n";
}

echo 
"</table>\n";

// Salidas:
//    Name           Type       Length
//    NUMBER_COL    NUMBER        22
//    VARCHAR2_COL  VARCHAR2       1
//    CLOB_COL      CLOB        4000
//    DATE_COL      DATE           7

oci_free_statement($stid);
oci_close($conn);

?>

Notas

Nota:

En versiones de PHP anteriores a la 5.0.0 se debe usar ocicolumnsize() en su lugar. Este nombre aún se puede usar; se dejó como un alias de oci_field_size() por razones de retrocompatibilidad. Sin embargo, este nombre es obsoleto y no se recomienda.

Ver también

add a note add a note

User Contributed Notes 1 note

up
0
rudi at darx dot com
14 years ago
Just a note regarding the size of Oracle  NUMBERS will always return 22 as their "size".

This seems to be an Oracle feature. The rest of the documentation is in bug5156.
To Top