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数据库操作类——插入数据的实现相关推荐

  1. php pdo 事物类,一个基于PDO的数据库操作类(新) 一个PDO事务实例

    /* * 作者:胡睿 * 日期:2011/03/19 * 电邮:hooray0905@foxmail.com * * 20110319 * 常用数据库操作,如:增删改查,获取单条记录.多条记录,返回最 ...

  2. php pdo oracle操作类,一个基于PDO的数据库操作类

    百度之后决定使用PDO,至于为什么选择PDO,这里就不再多说,大家自己去百度下就能明白. 既然要换,那最基本就需要有个常用的数据库操作类,也就是所谓的增删改查等,昨晚捣腾了一晚,大致弄出了个雏形,以下 ...

  3. emlog mysql文件,emlog数据库操作类

    /** * 数据库操作类 * * @copyright (c) Emlog All Rights Reserved */ /** * MYSQL数据操方法封装类 */ class MySql { /* ...

  4. php数据库操作类的调用优化,PHP PDO优化数据库操作类 多数据库驱动类

    就是做一下整理 PHP PDO类操作.简化操作流程 更多内容 http://git.oschina.net/youkuiyuan/yky_test/blob/master/class/pdo.clas ...

  5. 全新的PDO数据库操作类(仅适用Mysql)

    1年前,也差不多刚开博那会,分享过一个pdo的数据库操作类(可参见:http://www.cnblogs.com/hooray/archive/2011/06/30/2094743.html),与其说 ...

  6. mysql 数据库操作类_【数据库操作类】10个php操作数据库类下载

    数据库(Database)操作是在开发过程中重要的组成部分,熟练掌握数据库的操作是开发人员必备的武器.PHP中文网为大家提供了各种封装好的php数据库操作类库,供大家下载和学习. 相关mysql视频教 ...

  7. mysql的数据库操作类_MYSQL数据库操作类

    class MSSQLDB { //MYSQL数据库操作类 //使用说明: //该类完全按照ADO的习惯书写的,用过ASP的人都觉得ASP连接数据库比PHP好用(这是我的感觉), //但PHP得一个一 ...

  8. mysql数据库操作类

    mysql数据库操作类. 配置文件: <?php $db_config["hostname"] = "localhost"; //服务器地址 $db_co ...

  9. php操作mysql的封装类_PHP封装的mysqli数据库操作类示例

    本文实例讲述了PHP封装的mysqli数据库操作类.分享给大家供大家参考,具体如下: 由于PHPMySQL操作在PHP5.4以下被弃用而推荐使用mysqli(MySQL Improvement),这里 ...

最新文章

  1. 详细谈电脑ip、域名、内网、外网、localhost、127.0.0.1、网关等通讯基础知识(易懂)
  2. 机器学习系列22:异常检测
  3. Facebook 开源 Instagram 安全工具 Pysa
  4. 荷兰国旗 Flag of the Kingdom of the Netherlands
  5. linux服务器在线人数,servlet监听器实现在线人数统计源码实例
  6. 论大型信息系统集成项目的整体管理
  7. javascript 编程思想
  8. 全球最权威人脸识别测试,中国团队依图科技夺得第一
  9. 剑指Offer - 面试题57. 和为s的两个数字(双指针)
  10. 不降的数字(51Nod-2499)
  11. 2.8_single_cycle_link_list_单向循环链表
  12. JavaWeb之Servlet编程
  13. SI24R1调试接收方能接收到数据,但发送方提示发送超时失败
  14. Python科学绘图 南丁格尔图/玫瑰图
  15. 洛谷每日三题之第三天(第四天补做)
  16. 浅谈统一权限管理平台
  17. Ubuntu 输入法fcitx方块乱码解决设置
  18. visudo精确用户赋权与sudo日志跟踪
  19. 提示找不到 XXX.dll 解决方法
  20. JSP实现养老院管理系统

热门文章

  1. POJ1942 Paths on a Grid(组合)
  2. Http Module 介绍
  3. Django学习笔记之二
  4. 【数论学习笔记】同余
  5. 关于单片机大循环结构编程
  6. npm和gulp学习
  7. Interbase浴火重生:开源数据库Firebird更新到2.12
  8. link 和 style 元素在 HTML 文档中的位置
  9. 体验 DreamSpark
  10. 如何解决testng执行用例失败自动重跑问题