数据库抽象层 pdo
2016-05-20 16:48
399 查看
一 、 PDO的连接
二 、PDO的增、删、改
三、 PDO的查
使用fetch()
使用fetchAll()
四、 PDO的预处理(支持采用预处理方式)
指定名字绑定变量
? 符号绑定变量
省去绑定变量方法
$host = "localhost"; $dbname = "hejuntest"; $username = "root"; $pwd = ""; $dsn = "mysql:host=$host;dbname=$dbname"; $opt = array(PDO::ATTR_PERSISTENT => TRUE); //持久链接 try{ $pdo = new PDO($dsn , $username , $pwd , $opt); }catch(PDOException $e){ echo 'connect error~ ' . $e->get_Message(); }
二 、PDO的增、删、改
$sql = "update student set name='xiaoran' where id in(1,2) "; $affted_rows = $pdo->exec($sql); //返回受影响的行数
三、 PDO的查
使用fetch()
$sql = "select * from student"; $pdostatement = $pdo->query($sql); echo '<table>'; while(list($id , $name , $age , $class) = $pdostatement->fetch(PDO::FETCH_NUM)){ echo '<tr>'; echo '<td>' . $id .'</td>'; echo '<td>' . $name .'</td>'; echo '<td>' . $age .'</td>'; echo '<td>' . $class .'</td>'; echo '</tr>'; } echo '</table>';
使用fetchAll()
$sql = "select * from student"; $pdostatement = $pdo->query($sql); $data = $pdostatement->fetchAll(PDO::FETCH_ASSOC); echo '<table>'; foreach($data as $k => $v){ echo '<tr>'; echo '<td>' . $v['id'] .'</td>'; echo '<td>' . $v['name'] .'</td>'; echo '<td>' . $v['age'] .'</td>'; echo '<td>' . $v['class'] .'</td>'; echo '</tr>'; } echo '</table>';
四、 PDO的预处理(支持采用预处理方式)
指定名字绑定变量
$sql = "insert into student (name,age,class) values (:name,:age,:class)"; $pdostatement = $pdo->prepare($sql); $pdostatement->bindParam(":name" , $name); $pdostatement->bindParam(":age" , $age); $pdostatement->bindParam(":class" , $class); $name = "hejun"; $age = 25; $class = 15; $pdostatement->execute(); $name = "daxi"; $age = 26; $class = 16; $pdostatement->execute();
? 符号绑定变量
$sql = "insert into student(name,age,class) values(?,?,?)"; $pdostatement = $pdo->prepare($sql); $pdostatement->bindParam(1 , $name); $pdostatement->bindParam(2 , $age); $pdostatement->bindParam(3 , $class); $name = "hejun"; $age = 25; $class = 15; $pdostatement->execute(); $name = "daxi"; $age = 26; $class = 16; $pdostatement->execute();
省去绑定变量方法
$sql = "insert into student(name,age,class) values(?,?,?)"; $pdostatement = $pdo->prepare($sql); $pdostatement->execute(array("daxixi",20,11)); echo $pdo->lastInsertId(); //如果有主键,得到最后一条插入的主键值 echo '<br>' . $pdostatement->rowCount();//得到影响行数
相关文章推荐
- Windows下安装redis服务
- PostgreSQL在哪些方面胜过了其他开源SQL数据库(Part I)
- MyBatis4:动态SQL
- MyBatis3:SQL映射
- zabbix 3.0.2监控redis
- 【MySql性能优化三】索引优化
- MYSQL 分组合并函数
- Navicat修改MySQL数据库密码就是这么简单
- Spring Data Redis实现一个订阅/发布系统
- 七牛evm云主机安装配置以及删除mysql
- sqlite3问题,提示没有sqlite3.h等
- 故障案例:mongodb 连接副本集很慢
- 数据库中经常分组查询的表如何做性能优化(group by)
- mysql数据库中批量更新
- 杂
- SQLSERVER的字段类型说明
- MySQL中多列索引
- 论ORACLE 9i 的体系图为什么这么金典
- mysql新建用户表,赋权,远程登陆
- sql注入分类