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