我制作了一个发送消息的脚本。但问题是,当我输入一个更长的消息时,虽然我将“mail”设置为VARCHAR并且长度为30005,但是无法插入到表中。
我正在使用此查询..
mysql_query("INSERT INTO `mailbox` (`id` ,`receiver` ,`mail` ,`sender` ,`time` ,`date` ,`reply-from` ,`read-status` ,`sd` ,`rd`) VALUES ('', '$receiver_username', '$mail', '$sender_username', '$gmt_time', '$gmt_date', '$from_mail', '1', '', '')") or die("Couldnt Insert Data");
键入小消息时可以。否则显示无法插入数据。
所以请帮助我。
最近我检查了它的hapening bcz这两个语法'和'。现在两个插入它们我不想编码文本
答案 0 :(得分:0)
varchar字段的长度为30005?这是不可能的,varchar的最大长度是255个字符。尝试将邮件字段设为TEXT数据类型。
答案 1 :(得分:0)
你需要在这里看几件事。
1:您应该将数据数据保存在文本列而不是varchar 30005中的数据库中 2:查看PHP.ini文件中的所有以下内容 的upload_max_filesize:50M 的max_execution_time:NONE memory_limit的:60M 的post_max_size:55M
3:mysql_error()
显示确实错误后,可以提供更多帮助答案 2 :(得分:0)
您尝试插入的长文本可能会引用单引号'
或其他特殊字符。
要解决此问题,并且出于安全原因,必须在您的文本上使用mysql_escape_string,然后再尝试将其插入表中。