Существует ли ограничение на размер переменной PHP?

Мне нужно знать, есть ли переменный размер ограничения с PHP. Я беру строковое поле из базы данных SQL и использую echo чтобы просмотреть его на веб-странице. Проблема, с которой я сталкиваюсь, заключается в том, что когда я просматриваю веб-страницу, я не вижу всего, что находится в поле базы данных. Существует ли ограничение на количество переменных PHP? Есть ли способ заставить PHP читать всю запись из базы данных и не останавливаться на достигнутом?

Объем данных, которые может удерживать переменная, ограничен только объемом памяти, доступной для PHP. Если вы встретите или превысите этот предел, выполнение страницы закончится, и вы, скорее всего, столкнетесь с ошибкой PHP. Данные, содержащиеся в переменной, не будут усекаться молча.

Обратите внимание, что большинство типов полей базы данных имеют явные ограничения на объем данных, которые могут быть сохранены в них. Возможно, вы захотите подтвердить, что данные действительно существуют в базе данных, как ожидалось, и не усекаются в момент ее вставки.

Вы также должны проверить вывод, просмотрев источник HTML. Если ожидаемые данные появляются при просмотре источника, но не отображаются, когда страница отображается в браузере, вам может потребоваться избежать данных для удаления любых объектов HTML, которые интерпретируется браузером в качестве разметки.

Размер переменной ограничен объемом памяти, доступным для PHP. Чтобы увеличить предел памяти PHP, вы можете изменить memory_limit в файле php.ini , если этот параметр доступен вам на вашем сервере. В противном случае вы можете использовать ini_set в начале вашего скрипта.

 ini_set('memory_limit','16M'); 

Это вряд ли будет проблемой памяти. PHP не стал бы колотить строку до размера, она просто умрет с ошибкой вне памяти.

Является ли строка вы выводить усеченным (конец отрублен), или части отсутствуют в середине? Помните, что при просмотре в браузере все, что похоже на HTML-тег, будет интерпретироваться как таковое. Если ваш текст содержит < где-то, то после этого МОЖЕТ быть скрытым как часть неизвестного тега, пока a > будет найден позже.

Это также не проблема базы данных, так как MySQL выдает ошибку, если размер данных превышает предел max_allowed_packet .

Решение было ini_set('odbc.defaultlrl', 65536);

Размер переменной ограничен только объемом памяти, доступной для PHP. Чтобы увеличить предел памяти PHP, см. Этот пост:

http://drupal.org/node/207036

Что касается вашей проблемы, должен быть и другой фактор, влияющий на ваш результат. Пожалуйста, разместите свой код для получения справки.

Вы могли бы сохранить целую страницу (html, css и javascript) в одной переменной и просто повторить ее. Строка должна быть прекрасной, помните, что в вашей базе данных существует ограничение на длину. varchar – 255, если u запускается в длину проблем с строкой в ​​вашем db. Попробуйте более крупные типы полей.