PHP 7.2.0 Release Candidate 4 Released

oci_field_size

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

oci_field_sizeВозвращает размер поля

Описание

int oci_field_size ( resource $statement , mixed $field )

Возвращает размер поля field.

Список параметров

statement

Идентификатор допустимого OCI запроса.

field

Может быть номером поля (нумерация начинается с 1) или именем.

Возвращаемые значения

Возвращает размер поля field в байтах, или FALSE при ошибках.

Примеры

Пример #1 Пример использования oci_field_size()

<?php

// Создайте таблицу:
//   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); // // используйте OCI_DESCRIBE_ONLY, если не получаете данных

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

// Выведет:
//    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);

?>

Примечания

Замечание:

В версиях PHP ниже 5.0.0 эта функция называлась ocicolumnsize(). В PHP 5.0.0 и выше ocicolumnsize() является алиасом oci_field_size(), поэтому вы можете продолжать использовать это имя, однако это не рекомендуется.

Смотрите также

  • oci_num_fields() - Возвращает количество полей в результате запроса
  • oci_field_name() - Возвращает имя поля из результата запроса

add a note add a note

User Contributed Notes 1 note

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