拼接sql语句参数绑定
/**
* 事务封装方法
* @access public
* @param array $sqls 要执行的sql数组或语句
* @return boolean
*/
public function transExecuteSql($sqls, $vals) {
try {
$this->startTrans();
if (is_array($sqls)) {
foreach ($sqls as $k => $sql) {
if (!isNull($vals)) {
foreach ($vals[$k] as $valKey => $val) {
$sql = $this->bindParam($sql, $valKey + 1, $val);
}
} $result = $this->db->execute($sql);
if ($result === false) {//update 数据和原来如果一样的话返回的是0
// if(!$result)
$this->rollBack();
return false;
}
}
} else {
$result = $this->db->execute($sqls);
if (!$result) {
$this->rollBack();
return false;
}
}
$this->commit();
return true;
} catch (\Exception $e) {
$this->rollBack();
//
$sxLog = new \Org\Log\SXLog();
$sxLog->recordSqlLogger($e);
return false;
}
}
/**
* 绑定参数过程
*
* @param string $sql SQL语句
* @param int $location 问号位置
* @param mixed $var 替换的变量
* @param string $type 替换的类型
*/
public function bindParam(&$sql, $location, $var, $type = 'STRING') {
switch ($type) {
//字符串
default: //默认使用字符串类型
case 'STRING' :
$var = addslashes($var); //转义
$var = "'" . $var . "'"; //加上单引号.SQL语句中字符串插入必须加单引号
break;
case 'INTEGER' :
case 'INT' :
$var = (int) $var; //强制转换成int
//还可以增加更多类型..
}
//寻找问号的位置
//for ($i=1, $pos = 0; $i<= $location; $i++) {
$pos = strpos($sql, '?', $location + 1);
//}
//替换问号
$sql = substr($sql, 0, $pos) . $var . substr($sql, $pos + 1); return $sql;
}
拼接sql语句参数绑定的更多相关文章
- ASP.NET实现列表页连接查询 拼接sql语句 绑定grivdView
ASP.NET实现列表页连接查询 拼接sql语句 如图效果: 基本需求:1.当页面第一次加载的时候默认查询一个月时间(或者说是登陆者所属权限的所有数据)的数据绑定到gridView 2.添加查询条件时 ...
- java动态拼接sql语句并且执行时给sql语句的参数赋值
问题 在这里举一个例子,比如我要做一个多条件模糊查询,用户输入的时候有可能输入一个条件,也有可能输入两个条件,这时执行查询的sql语句就不确定了,但可以用动态拼接sql语句来解决这个问题. 解决方法 ...
- 查询拼接SQL语句,多条件模糊查询
多条件查询,使用StringBuilder拼接SQL语句,效果如下: 当点击按钮时代码如下: private void button1_Click(object sender, EventArgs e ...
- StringBuilder 拼接sql语句比较快
StringBuilder 拼接sql语句比较快StringBuilder strBuilder = new StringBuilder();strSql += "insert into t ...
- C#中SQL语句参数写法
OracleConnection oc=new OracleConnection("data source=osserver;User Id=****;password=**"); ...
- MyBatis绑定Mapper接口参数到Mapper映射文件sql语句参数
一.设置paramterType 1.类型为基本类型 a.代码示例 映射文件: <select id="findShopCartInfoById" parameterType ...
- 使用表达式避免拼接SQL语句
在SQL语句编写过程中,无论在存储过程中还是在程序中,有时为了使语句兼容全部情况与某字段的特殊情况,不得不拼接SQL字串 如下表 商品ID 类别ID 1 1 2 1 3 2 4 3 5 3 如果我们要 ...
- 多条件搜索拼接Sql语句
1. 如下实例: 1.1 如下图所示:[通过用户输入的数据拼接Sql搜索语句] 1.2 private void button2_Click( ...
- 关于拼接SQL语句sqlMap的使用方法
1.为什么使用? 主要还是为了代码中获取到值,然后带入SQL语句中拼接查询 2.怎么使用? 1)bean继承了BaseEntity类,该类中有 /** * 自定义SQL(SQL标识,SQL内容) */ ...
随机推荐
- hackhttp模板的介绍
hackhttp模板:造福人类 发起get/post/ 发起http原始数据包 漏洞利用:更为快捷放放不安 #hackhttp使用方法hh=hackhttp.hackhttp() code,head, ...
- Siki_Unity_1-3_Unity零基础入门_古迹探险
1-3 Unity零基础入门 古迹探险 任务1/2:资料下载 链接:https://pan.baidu.com/s/1jHVymNk 密码:rbob 任务3:工程的创建和打开 Project:古迹探险 ...
- 教你一招,提升你Python代码的可读性,小技巧
Python的初学者,开发者都应该知道的代码可读性提高技巧,本篇主要介绍了如下内容: PEP 8是什么以及它存在的原因 为什么你应该编写符合PEP 8标准的代码 如何编写符合PEP 8的代码 为什么我 ...
- 孤荷凌寒自学python第八十天开始写Python的第一个爬虫10
孤荷凌寒自学python第八十天开始写Python的第一个爬虫10 (完整学习过程屏幕记录视频地址在文末) 原计划今天应当可以解决读取所有页的目录并转而取出所有新闻的功能,不过由于学习时间不够,只是进 ...
- SpringCloud IDEA 教学 (三) Eureka Client
写在前头 本篇继续介绍基于Eureka的SpringCloud微服务搭建,回顾一下搭建过程, 第一步:建立一个服务注册中心: 第二步:建立微服务并注入到注册中心: 第三步:建立client端来访问微服 ...
- 路由器如何设置上网(TP-LINK)
最近宿舍公用的网络一直不太稳定,正赶上毕业季,本来就打算自己买一台自用的路由器,于是我从一个毕业的师姐手里15RMB收了一台路由器,师姐还给了我一根5m的网线和两根全新15m的,感觉光网线就赚翻了. ...
- Lake Counting(DFS连通图)
Description Due to recent rains, water has pooled in various places in Farmer John's field, which is ...
- Notes of the scrum meeting before publishing(12.19)
meeting time:18:30~20:30p.m.,December 19th,2013 meeting place:3号公寓一层 attendees: 顾育豪 ...
- c# 委托初窥
1.委托可以把方法当作参数在另一个方法中传递和调用 ,委托是方法的快捷方式. 2.委托是一个类. private void BeginSocketThread() { try { IPEndPoint ...
- TCP系列36—窗口管理&流控—10、linux下的异常报文系列接收
在这篇文章中我们看一下server端在接收到异常数据系列时的处理,主要目的是通过wireshark示例对这些异常数据系列的处理有一个直观的认识,感兴趣的自行阅读相关代码和协议,这里不再进行详细介绍 在 ...