使用html表单通过php发布大量文本数据时出错

时间:2014-01-25 06:59:33

标签: php html mysql

我试图通过php将一个博客发布到mysql表中,进入mysql表。 博客内容非常大(如2000个字符),我已经给出了mysql列数据类型TEXT。因此,当我使用HTML上传时,upload.php上没有显示任何内容。但是,当我将博客内容最小化为1000个字符时,博客就会发布。这发生在我身上好几次,为什么会这样?有什么帮助吗?

2 个答案:

答案 0 :(得分:1)

以下是每种数据类型的字符长度:

CHAR( )     A fixed section from 0 to 255 characters long.
VARCHAR( )  A variable section from 0 to 255 characters long.
TINYTEXT    A string with a maximum length of 255 characters.
TEXT        A string with a maximum length of 65535 characters.
BLOB        A string with a maximum length of 65535 characters.
MEDIUMTEXT  A string with a maximum length of 16777215 characters.
MEDIUMBLOB  A string with a maximum length of 16777215 characters.
LONGTEXT    A string with a maximum length of 4294967295 characters.
LONGBLOB    A string with a maximum length of 4294967295 characters.

您可以尝试使用更大的数据类型,但这似乎不是问题。检查php错误日志中的任何错误,以确保在发布此错误时没有内存不足,并且没有发生任何MySQL错误。

答案 1 :(得分:0)

您需要向我们提供更多信息。请检查您的PHP错误日志。在Apache上,这些通常位于/var/log/apache2/error.log,或者您可以使用代码顶部的函数ini_set('display_errors', 'true');

可能发生的事情可能是你的php.ini被设置为只允许POST消息中有这么多字符,或者你的MySQL正在奇怪地处理TEXT列,因为它们应该能够容纳65,535 bytes(假设每个字符是一个字节,大约65,535个字符)。您可以尝试将MySQL列设置为MEDIUMTEXT字段,看看是否能解决问题。如果不是,则可能是PHP或Web服务器问题。

如果它不是MySQL,那么您需要搜索php.ini和您的Web服务器配置以查找任何问题。另一个问题What is the size limit of a post request?有一个答案,解释说您只需修改.htaccess

就可以覆盖Apache 中的最大帖子大小