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富文本编辑器,都会发生这种情况.
我们将非常感激您提供的任何帮助.谢谢!