Maison  >  Article  >  développement back-end  >  求助! php mysql insert 长字符串不能插入问题.

求助! php mysql insert 长字符串不能插入问题.

WBOY
WBOYoriginal
2016-06-23 14:26:361331parcourir

语句是这样的:
$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() 进行检测。

结贴,给分.

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn