PHP 8.4.0 RC4 available for testing

oci_field_size

(PHP 5, PHP 7, PHP 8, PECL OCI8 >= 1.1.0)

oci_field_sizeRetourne la taille d'un champ Oracle

Description

oci_field_size(resource $statement, string|int $column): int|false

Retourne la taille du champ column Oracle .

Liste de paramètres

statement

Un identifiant de requête OCI valide.

column

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($stid, OCI_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);

?>

Voir aussi

add a note

User Contributed Notes 1 note

up
0
rudi at darx dot com
24 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