Php 插入mysql表时出现问题

Php 插入mysql表时出现问题,php,mysql,insert,Php,Mysql,Insert,我制作了一个发送消息的脚本。但问题是,尽管我将“mail”设置为VARCHAR和length 30005,但当我键入稍长一点的消息时,它无法插入到表中 我正在使用这个查询 mysql_query("INSERT INTO `mailbox` (`id` ,`receiver` ,`mail` ,`sender` ,`time` ,`date` ,`reply-from` ,`read-status` ,`sd` ,`rd`) VALUES ('', '$receiver_username', '

我制作了一个发送消息的脚本。但问题是,尽管我将“mail”设置为VARCHAR和length 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");
当输入小消息时,就可以了。否则显示无法插入数据

所以请帮帮我


最近我检查了它的形状bcz,这两种语法是“and”。现在如何插入它们我不想为varchar字段编码文本长度30005?这是不可能的,varchar的最大长度是255个字符。尝试将邮件字段设置为文本数据类型。

您需要在这里看几件事

1:您应该将数据库中的数据保存在文本列中,而不是varchar 30005 2:查看PHP.ini文件中的所有以下内容 上传最大文件大小:50M 最大执行时间:无 内存限制:60M 立柱最大尺寸:55米


3:通过mysql_error()显示实际错误后,可以提供更多帮助。

可能您尝试插入的长文本中有单引号
或其他特殊字符


为了解决这个问题,同时出于安全原因,在尝试将文本插入表之前,必须在文本上使用mysql\u escape\u字符串。

请分享您得到的确切错误消息(mysql\u error())。你的
max\u allowed\u packet
设置是什么?什么是
类型小消息
也不要在调试代码时吞咽异常,或者永远不要吞咽异常。对不起,我刚刚运行了mysql\u error()。它说这个问题是因为我在我的消息体中使用了这个语法“”。那么现在该怎么修呢?对不起,我听不懂。请解释一下,从MySQL 5.0.3开始,它的最大长度被推到了65535。64整千字节的
VARCHAR
。再说一次,你是对的,它应该是
TEXT
类型。谢谢你的回复。。让我试试看,我已经把它改成了文本,但仍然是相同的错误,它的bcz是'and'。如何修复这两个syntaxi刚刚运行了mysql_error()。它说这个问题是因为我在我的消息体中使用了这个语法''。那么现在如何修复它。我不想对它们进行编码,我无法理解你的问题,因为信息太少了。请详细说明。在我看来,你是错误地引用了你的错误,但不能说任何与提供的信息。