日期:2014-05-16  浏览次数:20512 次

求助! php mysql insert 长字符串不能插入问题.
语句是这样的:
$sql = "INSERT INTO `{$table->column_list_page}` set nID='{$_REQUEST['NodeID']}',Title='{$_REQUEST['Title']}',Author='{$_REQUEST['Author']}',Content='{$_REQUEST['Content']}',Note='{$_REQUEST['Note']}',editor='{$_SESSION['adminUserInfo']['aUserID']}',time='".time()."'";

$db->query($sql);}

插入几页字符没有问题,插入从word 中复制的十页以上的文档时,无法插入.

求救啊!



------解决方案--------------------
1、你直接使用 $_REQUEST 数据,就可能因为特殊字符未转义和导致插入失败
2、你可能用的是 text 类型字段,那么上限为 64k。文字多了就可能超限
------解决方案--------------------
$db->query($sql);
echo mysql_error(); //贴出错误信息
------解决方案--------------------
任何从php插入到mysql里的数据,最好做转义处理。
$str = isset($_REQUEST['str']) ? addslashes($_REQUEST['str']):'';