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

WBOY
풀어 주다: 2016-06-23 14:26:36
원래의
1334명이 탐색했습니다.

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

结贴,给分.

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!