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 — Get the length of a field
This function was REMOVED in PHP 7.0.0.
Alternatives to this function include:
$result
[, int $offset
= -1
] ) : int
Returns the length of field no. offset
in
result
.
result
The result resource that is being evaluated. This result comes from a call to mssql_query().
offset
The field offset, starts at 0. If omitted, the current field is used.
The length of the specified field index on success 或者在失败时返回 FALSE
.
Example #1 mssql_field_length() example
<?php
// Connect to MSSQL and select the database
mssql_connect('MANGO\SQLEXPRESS', 'sa', 'phpfi');
mssql_select_db('php');
// Send a select query to MSSQL
$query = mssql_query('SELECT [name], [age] FROM [php].[dbo].[persons]');
// Print the field length
echo 'The field \'age\' has a data length of ' . mssql_field_length($query, 1);
// Free the query result
mssql_free_result($query);
?>
以上例程的输出类似于:
The field 'age' has a data length of 4
Note: Note to Windows Users
Due to a limitation in the underlying API used by PHP (MS DBLib C API), the length of
VARCHAR
fields is limited to 255. If you need to store more data, use aTEXT
field instead.
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;