如果超过512字节,TextArea不会保存到mySQL

Mar*_*xby 0 php mysql forms textarea html-entities

我一直在寻找年龄,找不到这个确切的问题,但如果有的话,请随时指出我正确的方向.

简单描述:有一个页面上有TEXTAREA.这个TEXTAREA接受HTML,因为它用于编辑客户网站的主页.

目的是让这个TEXTAREA保存到一个非常简单的mySQL表中.

问题:问题是如果TEXTAREA超过512个字符,则不会向数据库字段保存任何内容.在它之下,它存储很好.

这是代码:

$homeTopLeft = addslashes(htmlentities($_GET['homeTopLeft'], ENT_QUOTES | ENT_IGNORE, "UTF-8"));
$homeNews    = addslashes(htmlentities($_GET['homeNews'], ENT_QUOTES | ENT_IGNORE, "UTF-8"));

mysql_login();

$query = "UPDATE cmsData SET homeTopLeft='$homeTopLeft', homeNews='$homeNews', lastUpdated=NOW() WHERE entry=1";
$result = mysql_query($query) or die(reportError('Unable to save new CMS data'));
if (mysql_affected_rows() > 0) {
    echo '<p class="ok">Pages Successfully Updated!</p>';
    echo '<p style="border:1px dashed #ccc;">homeTopLeft = ' . $homeTopLeft . '</p>';
} else {
    echo '<p class="err">Unable to update the home page</p>';
}
Run Code Online (Sandbox Code Playgroud)

我目前有$ _GET方法,因为我实际上是通过AJAX调用函数,它在512个字符下工作正常.

它不是什么 - 它不是mySQL字段大小:它的数据类型是TEXT,我通过phpMyAdmin手动增加了字段而没有错误.- 这不是(据我所知)AJAX调用,因为它可以工作,如果TEXTAREA <512字节 - 整理(我不认为:我已经设置latin1_general_ci并尝试了latin1_bin一些UFT)

最后注意homeTopLeft由于htmlentities调用 ,字段的实际数据库大小必须大于512字节.

我还要补充一点,无论我是使用普通文本编辑器TEXTAREA还是tinyMCE富文本编辑器,都会发生这种情况.

我们将非常感激您提供的任何帮助.谢谢!

MrG*_*ass 5

GET请求有一个大小限制.对于像这样的大事,请使用POST