PHP 操作数据库 PDO
2020-07-21 10:14
127 查看
PHP 操作数据库 PDO
- pdo 链接 mysql
//PDO连接Mysql数据库 $dbms = 'mysql'; $dbname = 'demo1'; $host = 'localhost'; $user = 'root'; $pwd = 'root'; $dsn = "$dbms:host=$host;dbname=$dbname"; try { $pdo = new PDO($dsn, $user, $pwd); $pdo->exec("set names 'utf8'"); //设置异常模式 $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); //echo 'PDO连接Mysql成功!' . '<br>'; //var_dump($pdo); /** 事务 */ //事务 try{ //开启事务 $pdo ->beginTransaction(); $pdo->exec("insert into admin set name='ceshi56',pwd='".md5(123456)."',sex='1',age='20' "); //提交 $pdo->commit(); }catch(Exception $e){ //抓住try里面出现的错误,并且处理 //echo $e->getMessage(); //获取异常信息 //回滚 $pdo->rollBack(); } }catch (Exception $e) { echo $e->getMessage() . "<br>"; }
- 查询mysql 数据 fetchAll , prepare , query
- fetchAll
$stmt = $pdo->query("select name,age,sex from admin "); //$row_count = $stmt->rowCount(); // 返回条数 为空返回 0 //print_r($row_count); $rows = $stmt->fetchAll(); //获取所有 for($i=0;$i<count($rows);$i++){ if($rows[$i]["sex"]=='0') { $sex = "女"; }else{ $sex = "男"; }; echo "姓名:".$rows[$i]["name"]."年龄:".$rows[$i]["age"]."性别:".$sex."<br>"; }
- prepare
使用Prepare和Execute方法
使用prepare和execute方法通常被认为是处理数据库查询的比较好的方法。首先,以SQL语句为参数调用PDO->prepare 方法,我们会得到一个返回的PDOStatment对象,并在这个对象上调用execute方法,然后 ,通过一个while循环重复调用PDOStatement->fetch方法来获取从数据库中查询的数据。
$stmt = $pdo->prepare("select name,age,sex from admin "); if($stmt->execute()){ while($row = $stmt->fetch()){ if($row["sex"]=='0'){ $sex = "女"; }else{ $sex = "男"; }; //echo "姓名:".$row["name"]; echo "姓名:".$row["name"]."年龄:".$row["age"]."性别:".$sex."<br>"; } }
上面这段代码就可以防范sql注入。为什么呢? 当调用 prepare() 时,查询语句已经发送给了数据库服务器,此时只有占位符 ? 发送过去,没有用户提交的数据;当调 用到 execute()时,用户提交过来的值才会传送给数据库,它们是分开传送的,两者独立的,SQL攻击者没有一点机会。
转自:https://blog.csdn.net/qq_16752369/article/details/77119622
- query
使用Query方法
首先看一下最快的、但却不是最好的方法—–query方法。
$stmt = $pdo->query("select name,age,sex from admin "); while($row = $stmt->fetch()){ if($row["sex"]=='0'){ $sex = "女"; }else{ $sex = "男"; }; //echo "姓名:".$row["name"]; echo "姓名:".$row["name"]."年龄:".$row["age"]."性别:".$sex."<br>"; }
- PDO 插入一条数据,修改,删除
//插入一条数据 if($pdo->exec("insert into admin set name='ceshi456',pwd='".md5(123456)."',sex='1',age='20' ")){ echo "插入成功"; echo $pdo->lastInsertId(); } //修改数据 if($pdo->exec("update admin set name='ceshi123' where id='2' ")){ echo "修改成功"; echo "<br>"; } //删除一条数据 if($pdo->exec("delete from admin where id='3' ")){ echo "删除成功"; echo "<br>"; }
相关文章推荐
- php学习笔记之PDO连接数据库及一些操作
- php pdo连接数据库操作示例
- php pdo操作数据库示例
- php封装的pdo数据库操作工具类与用法示例
- php使用PDO连接操作数据库
- PHP pdo操作数据库
- PHP使用PDO操作数据库的乱码问题解决方法
- php中pdo数据库操作工具类
- PHP—PDO对象操作数据库及MYSQL行锁应用于
- php PDO操作通用数据库
- php使用pdo操作数据库时出现ERROR:could not find driver的解决方法
- PHP数据库操作:从MySQL原生API到PDO
- PHP 在5.1.* 和5.2.*之间 PDO数据库操作中的不同!
- php pdo连接数据库操作示例
- php学习_第16章_PDO操作数据库
- php PDO 方式操作数据库小结
- PHP操作数据库,不推荐使用mysql函数,而推荐使用mysqli和PDO函数
- PHP使用PDO、mysqli扩展实现与数据库交互操作详解
- PHP 在5.1.* 和5.2.*之间 PDO数据库操作中的不同之处小结
- PHP 使用PDO操作数据库异常