Есть ли обходной путь (кроме изменения типа столбца в текстовое поле) для ВЫБОРА большого поля varchar с использованием PHP и библиотеки mssql? Например, varchar (500). Действительно ли PHP ограничивает количество символов до 255? Есть ли способ отодвинуться дальше?
На странице PHP проблема, похоже, заключается в драйвере базы данных на платформах Windows. Varchar может вернуть только <255 символов. Обходной путь - преобразовать varchar в текст в операторе sql SELECT.
Чтобы преобразовать широкий VARCHAR в TEXT в MS SQL:
SELECT convert(text,myWideField) FROM myTable
Где myWideField - это усеченный столбец, а myTable - это хорошо ... моя таблица.
Результат будет приведен к TEXT, возвращающему более 256 символов.
д.
Попробуйте изменить конфигурацию freetds.
На сервере отредактируйте /etc/freetds.conf
Изменение:
tds version = 4.2
до:
tds version = 8.0
Подробнее см. В примечаниях пользователя, Справочник по функциям Mssql .
Я пытался изменить значения переменных в php.ini:
mssql.textlimit = 2147483647 mssql.textsize = 2147483647
но не работает ...
Я изменил тип моего столбца varchar (2000) на varchar (max). Это сработало для меня!
Я не уверен насчет приведения, я бы изменил соответствующие типы полей на Текст вместо Varchar.
Причиной может быть MySQL, а не PHP ... До MySQL 5.0.3 сам MySQL мог хранить только 255 символов в VARCHAR. Этот предел был увеличен до 65535 в более поздних версиях.