插入mysql表的问题

时间:2010-12-30 11:41:57

标签: php mysql insert

我制作了一个发送消息的脚本。但问题是,当我输入一个更长的消息时,虽然我将“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这两个语法'和'。现在两个插入它们我不想编码文本

3 个答案:

答案 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,然后再尝试将其插入表中。