mysql pdo insert_PDO数据库操作类——插入数据的实现
mPHP核心框架使用PDO数据库抽象层往数据表中更新或插入数据,都是通过PDO的exec()方法,如果你熟悉Mysql数据库的sql语句,那么理解起来就更轻松了,你可以把它当作mysql的query()来使用,而且exec()执行完毕还会返回影响的数据行总数。
例如存在表mo2g_testidname
往mo2g_test中插入数据 id = 1 ,name = PDO,那么mysql的使用方法如下$strSql = "insert into mo2g_test (id,name) values (1,'PDO')";
mysql_query($strSql);
$reslut = mysql_affected_rows();//返回影响了多少行数据
PDO的exec()更简单$strSql = "insert into mo2g_test (id,name) values (1,'PDO')";
$reslut = $pdo->exec($strSql);//返回影响了多少行数据
其实插入数据的sql都有固定的格式:
1)插入单条数据insert into 数据表 (字段1,字段2) values (数值1,数值2)
2)插入多条数据insert into 数据表 (字段1,字段2) values (数值1,数值2),(数值3,数值4),(数值n,数值n+1)
所以,我根据这一特征封装了PDO类的insert方法function insert($table,$arrData) {}
1)$table为数据表的名称
2)$arrData为要插入的数据
使用方法如下:
1)一次插入一条数据:数据库抽象层$arrData = array('id'=>1,'name'=>'PDO');
$pdo->insert('mo2g_test',$arrData);
2)一次插入多条数据:$arrData = array(
array('id'=>1,'name'=>'PDO'),
array('id'=>2,'name'=>'mPHP')
);
$this->insert('mo2g_test',$arrData);
insert函数的实现代码如下public function insert($table,$arrData) {
$name = $values = '';
$flag = $flagV = 1;
$true = is_array( current($arrData) );//判断是否一次插入多条数据
if($true) {
//构建插入多条数据的sql语句
foreach($arrData as $arr) {
$values .= $flag ? '(' : ',(';
foreach($arr as $key => $value) {
if($flagV) {
if($flag) $name .= "$key";
$values .= "'$value'";
$flagV = 0;
} else {
if($flag) $name .= ",$key";
$values .= ",'$value'";
}
}
$values .= ') ';
$flag = 0;
$flagV = 1;
}
} else {
//构建插入单条数据的sql语句
foreach($arrData as $key => $value) {
if($flagV) {
$name = "$key";
$values = "('$value'";
$flagV = 0;
} else {
$name .= ",$key";
$values .= ",'$value'";
}
}
$values .= ") ";
}
$this->sql = $strSql = "insert into $table ($name) values $values";
if( ($this->result = $this->db->exec($strSql) ) > 0 ) {
return $this;
}
return false;
}
如果在使用的过程中遇上什么问题,可以给我留言。
mysql pdo insert_PDO数据库操作类——插入数据的实现相关推荐
- php pdo 事物类,一个基于PDO的数据库操作类(新) 一个PDO事务实例
/* * 作者:胡睿 * 日期:2011/03/19 * 电邮:hooray0905@foxmail.com * * 20110319 * 常用数据库操作,如:增删改查,获取单条记录.多条记录,返回最 ...
- php pdo oracle操作类,一个基于PDO的数据库操作类
百度之后决定使用PDO,至于为什么选择PDO,这里就不再多说,大家自己去百度下就能明白. 既然要换,那最基本就需要有个常用的数据库操作类,也就是所谓的增删改查等,昨晚捣腾了一晚,大致弄出了个雏形,以下 ...
- emlog mysql文件,emlog数据库操作类
/** * 数据库操作类 * * @copyright (c) Emlog All Rights Reserved */ /** * MYSQL数据操方法封装类 */ class MySql { /* ...
- php数据库操作类的调用优化,PHP PDO优化数据库操作类 多数据库驱动类
就是做一下整理 PHP PDO类操作.简化操作流程 更多内容 http://git.oschina.net/youkuiyuan/yky_test/blob/master/class/pdo.clas ...
- 全新的PDO数据库操作类(仅适用Mysql)
1年前,也差不多刚开博那会,分享过一个pdo的数据库操作类(可参见:http://www.cnblogs.com/hooray/archive/2011/06/30/2094743.html),与其说 ...
- mysql 数据库操作类_【数据库操作类】10个php操作数据库类下载
数据库(Database)操作是在开发过程中重要的组成部分,熟练掌握数据库的操作是开发人员必备的武器.PHP中文网为大家提供了各种封装好的php数据库操作类库,供大家下载和学习. 相关mysql视频教 ...
- mysql的数据库操作类_MYSQL数据库操作类
class MSSQLDB { //MYSQL数据库操作类 //使用说明: //该类完全按照ADO的习惯书写的,用过ASP的人都觉得ASP连接数据库比PHP好用(这是我的感觉), //但PHP得一个一 ...
- mysql数据库操作类
mysql数据库操作类. 配置文件: <?php $db_config["hostname"] = "localhost"; //服务器地址 $db_co ...
- php操作mysql的封装类_PHP封装的mysqli数据库操作类示例
本文实例讲述了PHP封装的mysqli数据库操作类.分享给大家供大家参考,具体如下: 由于PHPMySQL操作在PHP5.4以下被弃用而推荐使用mysqli(MySQL Improvement),这里 ...
最新文章
- 详细谈电脑ip、域名、内网、外网、localhost、127.0.0.1、网关等通讯基础知识(易懂)
- 机器学习系列22:异常检测
- Facebook 开源 Instagram 安全工具 Pysa
- 荷兰国旗 Flag of the Kingdom of the Netherlands
- linux服务器在线人数,servlet监听器实现在线人数统计源码实例
- 论大型信息系统集成项目的整体管理
- javascript 编程思想
- 全球最权威人脸识别测试,中国团队依图科技夺得第一
- 剑指Offer - 面试题57. 和为s的两个数字(双指针)
- 不降的数字(51Nod-2499)
- 2.8_single_cycle_link_list_单向循环链表
- JavaWeb之Servlet编程
- SI24R1调试接收方能接收到数据,但发送方提示发送超时失败
- Python科学绘图 南丁格尔图/玫瑰图
- 洛谷每日三题之第三天(第四天补做)
- 浅谈统一权限管理平台
- Ubuntu 输入法fcitx方块乱码解决设置
- visudo精确用户赋权与sudo日志跟踪
- 提示找不到 XXX.dll 解决方法
- JSP实现养老院管理系统