ScotlandPHP

mssql_field_length

(PHP 4, PHP 5, PECL odbtp >= 1.1.1)

mssql_field_lengthПолучить длину поля

Внимание

Эта функция УДАЛЕНА в PHP 7.0.0.

Есть следующие альтернативы:

Описание

int mssql_field_length ( resource $result [, int $offset = -1 ] )

Возвращает длину поля с индексом offset в result.

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

result

Результирующий набор, полученный после запуска mssql_query().

offset

Индекс поля. Первое поле имеет индекс 0. Если пропущено, то используется текущее поле.

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

Возвращает длину поля по указанному индексу, или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Пример mssql_field_length()

<?php
// Соединяемся с MSSQL и выбираем базу
mssql_connect('MANGO\SQLEXPRESS''sa''phpfi');
mssql_select_db('php');

// Делаем выборку
$query mssql_query('SELECT [name], [age] FROM [php].[dbo].[persons]');

// Печатаем длину поля
echo 'Поле \'age\' имеет размер ' mssql_field_length($query1);

// Очищаем результат
mssql_free_result($query);
?>

Результатом выполнения данного примера будет что-то подобное:

Поле 'age' имеет размер 4

Примечания

Замечание: Замечание для пользователей Windows

В связи с ограничениями, лежащими в основе API используемого PHP (MS DBLib C API), длина поля VARCHAR ограничена 255. Если вам нужно манипулировать более длинными строками, используйте поле TEXT.

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

add a note add a note

User Contributed Notes 2 notes

up
0
zz(lost dot childz at gmail dot com)
9 years ago
there are same problem with VARBINARY, if you are forced to use existing database with such fields you can do it like this:

SELECT CAST(master.dbo.fn_varbintohexstr(VARBINARYFIELD) AS TEXT) FROM table;
up
0
Anonymous
12 years ago
You can also work around this limitation with the following:

   -- for example, with MyVarCharField VARCHAR(1000)
   SELECT CAST(MyVarCharField AS TEXT) FROM MyTable
To Top