PHP 5.5.16 is released

oci_field_size

(PHP 5, PECL OCI8 >= 1.1.0)

oci_field_sizeRetourne la taille d'un champ Oracle

Description

int oci_field_size ( resource $statement , mixed $field )

Retourne la taille du champ field Oracle .

Liste de paramètres

statement

Un identifiant de requête OCI valide.

field

Peut être l'index du champ (l'indexation commence à 1) ou le nom du champ.

Valeurs de retour

Retourne la taille du champ field en octets, ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec oci_field_size()

<?php

// Création de la table avec :
//   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); // Utilisation de OCI_DESCRIBE_ONLY si aucune ligne n'est récupérée

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";

// Affiche :
//    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);

?>

Notes

Note:

Dans les versions de PHP antérieures à la version 5.0.0, vous devez utiliser la fonction ocicolumnprecision(). Cet ancien nom est toujours utilisable : un alias a été fait vers la fonction oci_field_precision(), pour assurer la compatibilité ascendante. Toutefois, il est recommandé de ne plus l'utiliser.

Voir aussi

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