表单中带有特殊字符如''<>"等特殊字符提交到数据库中会出错

china_hfz 2003-09-13 02:19:33
表单中带有特殊字符如单引号''提交到数据库中会出错
如把下面的一句:
select id,content from t_message where qxtype='2' 存到数据表中就会出错.
而没有带'却不会出错,不知什么解决?
环境:php4.1 oracle8i
...全文
322 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
yncc_xyy 2003-09-15
  • 打赏
  • 举报
回复
按 xuzuning(唠叨) 说的做没错!
xuzuning 2003-09-15
  • 打赏
  • 举报
回复
用addslashes做转义处理

$msg_content =addslashes($_REQUEST["txtMsg_content"]);
$str = " insrt into t_message_info ( msg_content)values $msg_content;
$rs = &$conn->Execute($str);
xuzuning 2003-09-15
  • 打赏
  • 举报
回复
用addslashes做转义处理

$msg_content =addslashes($_REQUEST["txtMsg_content"]);
$str = " insrt into t_message_info ( msg_content)values $msg_content;
$rs = &$conn->Execute($str);
ashchen 2003-09-15
  • 打赏
  • 举报
回复
base64_decode()
china_hfz 2003-09-15
  • 打赏
  • 举报
回复
?
全息宇宙 2003-09-14
  • 打赏
  • 举报
回复
建议把'替换一下在存数据库
allkill 2003-09-14
  • 打赏
  • 举报
回复
可以先用addslashes函数处理一下这类字符.
china_hfz 2003-09-14
  • 打赏
  • 举报
回复
我用 htmlspecialchars()转换可以存数据库,但取出时会把转换后的内容显出来。这不对。
是不是还要什么函数转回去。
china_hfz 2003-09-13
  • 打赏
  • 举报
回复
部份代码:
$msg_content =$_REQUEST["txtMsg_content"];
$str = " insrt into t_message_info ( msg_content)values $msg_content;
$rs = &$conn->Execute($str);
若txtMsg_content="select id,content from t_message where qxtype='2'"
或txtMsg_content="中''国"也会出错。
hodat 2003-09-13
  • 打赏
  • 举报
回复
不关'的事啦~~

是select等关键字的问题~~

建议把select等关键字用bin2hex()方法处理后再存进数据库~~

当然还有其他的方法~~

呵呵~~
tttk 2003-09-13
  • 打赏
  • 举报
回复
qxtype是什么类型的字段,如果是数值型,就要把'去掉。

把你使用的php语句贴出来大家看看

21,886

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧