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;
(PHP 4, PHP 5, PECL odbtp >= 1.1.1)
mssql_field_length — Devuelve la longitud de un campo
Esta función está OBSOLETA en PHP 7.0.0.
Las alternativas a esta función son:
$result
[, int $offset
= -1
] ) : int
Devuelve la longitud del campo número offset
dentro del resultado
result
.
result
El resultado que está siendo evaluado. Este resultado proviene de una llamada a mssql_query().
offset
La posición del campo, empieza en 0. Si se omite, se utiliza el campo actual.
La longitud del campo especificado en caso de éxito o FALSE
en caso de error.
Ejemplo #1 Ejemplo con mssql_field_length()
<?php
// Conectar a MSSQL y seleccionar la base de datos
mssql_connect('MANGO\SQLEXPRESS', 'sa', 'phpfi');
mssql_select_db('php');
// Enviar una consulta a MSSQL
$query = mssql_query('SELECT [name], [age] FROM [php].[dbo].[persons]');
// Mostrar la longitud del campo
echo 'El campo \'age\' tiene una longitud de ' . mssql_field_length($query, 1);
// Liberar recursos
mssql_free_result($query);
?>
El resultado del ejemplo sería algo similar a:
El campo 'age' tiene una longitud de 4
Nota: Nota para los usuarios de Windows
Debido a una limitación en el API utilizado por PHP (MS DBLib C API), la longitud de los campos VARCHAR está limitada a 255. Si se necesita almacenar más datos, utilizar un campo TEXT.
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;