为了账号安全,请及时绑定邮箱和手机立即绑定

以下是关于Oracle的操作类的问题,请大佬帮我看看这个类中的db_change函数怎么使用?

以下是关于Oracle的操作类的问题,请大佬帮我看看这个类中的db_change函数怎么使用?

www说 2021-11-03 11:07:51
//------------------------------------------------------------------------------------------ // 函数名:db_change($C_sql,$A_bind) // 作 用:db change // 参 数:$C_sql sql语句 // $A_bind 需绑定的字段。数组型 // 返回值:布尔值 // 备 注:insert,delete,update通用 //------------------------------------------------------------------------------------------ function db_change($C_sql,$A_bind="") { if (!$C_sql){AlertExit("参数不全!");}//检查参数 //连接检测 if($this -> I_linkID==""){ AlertExit("我们的数据库正忙,请稍后再连接!");} //格式检测 $this -> I_stmtID = OCIParse($this -> I_linkID,$C_sql); if (!$this -> I_stmtID){AlertExit( sql格式出错!请与程序员联系);} //绑定 if(gettype($A_bind) == "array") { for($i=0;$i<count($A_bind);$i++) { global $$A_bind[$i]; $$A_bind[$i] = StripSlashes($$A_bind[$i]); //去掉反斜线字元 $$A_bind[$i] = str_replace("<?","< ?",$$A_bind[$i]); //过滤掉PHP标示 } for($i=0;$i<count($A_bind);$i++){ OCIBindByName($this -> I_stmtID, ":$A_bind[$i]", &$$A_bind[$i], -1); //绑定 } } elseif(trim($A_bind) <> "") //不是数组,是字符 { global $$A_bind; $$A_bind = StripSlashes($$A_bind); $$A_bind = str_replace("<?","< ?",$$A_bind); //过滤掉PHP标示 OCIBindByName($this -> I_stmtID, ":$arrBind", &$$A_bind, -1); } //执行并检测是否成功 if(!OCIExecute($this -> I_stmtID,OCI_DEFAULT)) { echo "<font color=red><b>执行出错:</b></font>SQL Error:<font color=red>$C_sql</font><br>"; return false; } /*//传回受影响的行数 global $I_changenum; $I_changenum = OCINumrows($this -> I_stmtID);*/ //释放句柄,传回值 OCIFreeStatement($this -> I_stmtID); return true; }
查看完整描述

1 回答

?
茅侃侃

TA贡献1842条经验 获得超21个赞

$C_sql 应该类似于 insert table(f1, f2, f3, ...) values(:f1, :f2, :f3, ...)
$A_bind: array('123', 'abc', 'ddd', ...)

查看完整回答
反对 回复 2021-11-09
  • 1 回答
  • 0 关注
  • 306 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信