Может ли библиотека PHP и mssql выбрать более 256 символов из столбца varchar? - PullRequest
5 голосов
/ 04 марта 2009

Есть ли обходной путь (кроме изменения типа столбца в текстовое поле) для ВЫБОРА большого поля varchar с использованием PHP и библиотеки mssql? Например, varchar (500). Действительно ли PHP ограничивает количество символов до 255? Есть ли способ отодвинуться дальше?

Ответы [ 6 ]

5 голосов
/ 04 марта 2009

На странице PHP проблема, похоже, заключается в драйвере базы данных на платформах Windows. Varchar может вернуть только <255 символов. Обходной путь - преобразовать varchar в текст в операторе sql SELECT.

4 голосов
/ 08 июня 2009

Чтобы преобразовать широкий VARCHAR в TEXT в MS SQL:

SELECT convert(text,myWideField) FROM myTable

Где myWideField - это усеченный столбец, а myTable - это хорошо ... моя таблица.

Результат будет приведен к TEXT, возвращающему более 256 символов.

д.

3 голосов
/ 23 января 2014

Попробуйте изменить конфигурацию freetds.

На сервере отредактируйте /etc/freetds.conf

Изменение:

tds version = 4.2

до:

tds version = 8.0

Подробнее см. В примечаниях пользователя, Справочник по функциям Mssql .

1 голос
/ 28 сентября 2012

Я пытался изменить значения переменных в php.ini:

mssql.textlimit = 2147483647
mssql.textsize = 2147483647

но не работает ...

Я изменил тип моего столбца varchar (2000) на varchar (max). Это сработало для меня!

0 голосов
/ 04 марта 2009

Я не уверен насчет приведения, я бы изменил соответствующие типы полей на Текст вместо Varchar.

0 голосов
/ 04 марта 2009

Причиной может быть MySQL, а не PHP ... До MySQL 5.0.3 сам MySQL мог хранить только 255 символов в VARCHAR. Этот предел был увеличен до 65535 в более поздних версиях.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...