<?php //连接mysql $pdo=new PDO('mysql:host=localhost;dbname=test','root','123456'); //连接oracle $pdo = new PDO('oci:dbname=//localhost;1521/test','root','123456'); //设置客户端字符集为utf-8 $pdo->exec('set names utf8'); //插入数据 $sql = "insert into user1(username,password) values('user12','123456')"; echo $pdo->exec($sql); //删除数据 $sql = "delete from user1 where id=12"; echo $pdo->exec($sql); //修改数据 $sql = "update user1 set password='234567' where id='11'"; echo $pdo->exec($sql); //查询数据 $sql = "select * from user1"; $smt = $pdo->query($sql); //返回关联数组 $row = $smt->fetchAll(PDO::FETCH_ASSOC); print_r($row); //预处理增删改查操作: //预处理不能减少mysql的执行速度,能做到是减少mysql语句发送到服务器的时间和次数,防止sql注入,提高安全,减少风险 $sql="insert into user1(username,password) values(user12,'123456')"; $smt=$pdo->prepare($sql); //返回结果是true或false $res=$smt->execute(); //判断mysql语句是否执行成功 if($smt->execute()){ echo '数据操作成功'; }else{ echo '数据操作失败'; } //获取操作了多少条数据 $sql='delete from user1 where id>5'; $smt=$pdo->prepare($sql); if($smt->execute()){ $tot=$smt->rowCount(); echo '数据操作成功,成功删除'.$tot.'行!'; }else{ echo '数据操作失败!'; } //获取一个表的总行数 方法二比方法一高效 //方法一: $sql='select * from user1'; $smt=$pdo->prepare($sql); if($smt->execute()){ $tot=$smt->rowCount(); echo '查询了'.$tot.'行'; }else{ echo '数据查询失败'; } //方法二: $sql='select count(*) from user1'; $smt=$pdo->prepare($sql); $smt->execute(); $rows=$smt->fetchAll(PDO::FETCH_NUM); echo $rows[0][0]; //方法三: $sql='select count(*) from user1'; $smt=$pdo->prepare($sql); $smt->execute(); $tot=$smt->fetchColumn(); echo $tot; //给预处理最大化绑值 $sql='select * from user1 where id>? and id<?'; $smt=$pdo->prepare($sql); $smt->bindValue(1,2); $smt->bindValue(2,5); $smt->execute(); $rows=$smt->fetchAll(PDO::FETCH_ASSOC); echo '<pre>'; print_r($rows); echo '</pre>'; ?>
PDO预处理方法操作数据库
最新推荐文章于 2021-03-12 08:42:40 发布