我一直在寻找年龄,找不到这个精确的问题,但如果有的话,请随时为我指出正确的方向。
简单描述:有一个页面上有一个 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>';
}
我目前有 $_GET 方法,因为我实际上是通过 AJAX 调用该函数,它在 512 个字符下工作正常。
它不是什么
- 它不是 mySQL 字段大小:它的数据类型是 TEXT,我已经通过 phpMyAdmin 手动增加了该字段而没有错误。- 它不是(据我所知)AJAX 调用,因为它在 TEXTAREA < 512 字节时有效 - 排序规则(我不认为:我已将其设置为latin1_general_ci
并尝试过latin1_bin
一些 UFT 的)
最后说明由于调用
,该字段的实际数据库大小homeTopLeft
必须大于 512 字节。htmlentities
我还应该补充一点,无论我是使用纯文本编辑器TEXTAREA
还是tinyMCE
富文本编辑器,都会发生这种情况。
您能提供的任何帮助将不胜感激。谢谢!