mysql插入长字符串_求助! 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 中复制的十页以上的文档时,无法插入.

求救啊!

回复讨论(解决方案)

在mysql 中,直接放进去,可以用,MSYQL没问题.

1、你直接使用 $_REQUEST 数据,就可能因为特殊字符未转义和导致插入失败

2、你可能用的是 text 类型字段,那么上限为 64k。文字多了就可能超限

1、你直接使用 $_REQUEST 数据,就可能因为特殊字符未转义和导致插入失败

2、你可能用的是 text 类型字段,那么上限为 64k。文字多了就可能超限

数据库字段使用的是MEDIUMTEXT类型,应没有超出上限。

你说的第一条,请都如何不直接使用 $_REQUEST 数据,或如何转义?

PHP新手求助了。

贴出错误信息以供分析

echo mysql_error();

贴出错误信息以供分析

echo mysql_error();

我是搞asp.net的,PHP没有接触过,这次是赶鸭子上轿,以前别人做的系统,有这个问题没有解决,要我来解决。

主要是把word中的表格帖到fckeditor 中,再存入数据库。小的没有问题,大的问题就来了。

不怕你笑话,还不会用echo mysql_error();

请教如何用?

$db->query($sql);

echo mysql_error(); //贴出错误信息

程序在服务器上,明天加了再请教

任何从php插入到mysql里的数据,最好做转义处理。

$str = isset($_REQUEST['str']) ? addslashes($_REQUEST['str']):'';

任何从php插入到mysql里的数据,最好做转义处理。

$str = isset($_REQUEST['str']) ? addslashes($_REQUEST['str']):'';

就是这个,我的PHP.INI 中设置 magic_quotes_g=Off,改成On,就行了.

查看资料得知:

addslashes(string)参数 描述

string 必需。规定要检查的字符串。

提示和注释

提示:该函数可用于为存储在数据库中的字符串以及数据库查询语句准备合适的字符串。

注释:默认情况下,PHP 指令 magic_quotes_gpc 为 on,对所有的 GET、POST 和 COOKIE 数据自动运行 addslashes()。不要对已经被 magic_quotes_gpc 转义过的字符串使用 addslashes(),因为这样会导致双层转义。遇到这种情况时可以使用函数 get_magic_quotes_gpc() 进行检测。

结贴,给分.

f68f2add0b68e4f9810432fce46917b7.png

本文原创发布php中文网,转载请注明出处,感谢您的尊重!

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值