Correction status:Uncorrected
Teacher's comments:
<?php /** * 利用PDO来插入数据 */ $dsn = 'mysql:host=127.0.0.1;dbname=php'; $user = 'root'; $pass = 'root'; try { $pdo = new PDO($dsn,$user,$pass); echo 'true'; }catch (PDOException $e) { echo 'flast'.$e->getMessage(); } //利用PDO向数据库中插入数据 //先准备一个sql语句 $sql = "INSERT IGNORE `user` SET `name`=:name,`password`=sha1(:password),`email`=:email,`age`=:age"; //创建预处理对象 $stmt = $pdo->prepare($sql); //准备的一个数据要插入到数据库中的 $data = ['name'=>'郭靖','password'=>123456,'email'=>'guojing@php.cn','age'=>45]; //绑定参数 $stmt->bindParam(':name',$data['name'],PDO::PARAM_STR); $stmt->bindParam(':password',$data['password'],PDO::PARAM_STR); $stmt->bindParam(':email',$data['email'],PDO::PARAM_STR); $stmt->bindParam(':age',$data['age'],PDO::PARAM_STR); //将插入的结果打印出来 if ($stmt->execute()) { echo '插入成功:共插入'.$stmt->rowCount().'条数据'; }else { echo '插入失败:'.print_r($stmt->errorInfo()); } $pdo = null;//关闭数据库
点击 "运行实例" 按钮查看在线实例
利用PDO的优势快速的连接数据库并插入一条记录
<?php /** * //更简单的向数据库中插入数据 */ $pdo = new PDO('mysql:host=127.0.0.1;dbname=php','root','root'); $stmt = $pdo->prepare("INSERT IGNORE `user` SET `name`=:name,`password`=sha1(:password),`email`=:email,`age`=:age"); $stmt->execute(['name'=>'雕','password'=>123456,'email'=>'diao@php.cn','age'=>98]); echo '共执行插入数据:'.$stmt->rowCount().'条';
点击 "运行实例" 按钮查看在线实例
利用PDO来更新一条数据
<?php /** * 利用PDO更新一条数据 */ $pdo = new PDO('mysql:host=127.0.0.1;dbname=php','root','root'); $sql = "UPDATE `user` SET `email`=:email,`age`=:age WHERE `id`=:id"; $stmt = $pdo->prepare($sql); $stmt->execute(['email'=>'123@php.cn','age'=>45,'id'=>1]); echo '共更新:'.$stmt->rowCount().'条数据'; $stmt = null;
点击 "运行实例" 按钮查看在线实例
利用PDO删除一条数据
<?php /** * 利用PDO来删除一条数据 */ //连接数据库 $pdo = new PDO('mysql:host=127.0.0.1;dbname=php','root','root'); //准备删除的SQL语句 $sql = "DELETE FROM `user` WHERE `id`=:id"; //预处理SQL语句 $stmt = $pdo->prepare($sql); //执行SQL语句,将id绑定 $stmt->execute(['id'=>6]); echo '成功删除:'.$stmt->rowCount().'条数据';
点击 "运行实例" 按钮查看在线实例
利用PDO来查询数据库里面的东西
<?php /** * 利用POD查询数据,查询数据最重要,也是在数据库中用的最多 */ //连接数据库 $pdo = new PDO('mysql:host=127.0.0.1;dbname=php','root','root'); //准备要检查数据库的语句 //查询user表中的name,email键中id>5的记录条 $sql = "SELECT `name`,`email` FROM `user` WHERE `id` > :id"; //预算处理sql语句 $stmt = $pdo->prepare($sql); //将ID绑定,并执行 echo print_r($stmt->execute(['id'=>5])); //将所有条数输出,然后使用foreach将数据遍历出来。 $row = $stmt->fetchAll(); foreach ($row as $rows) { echo '姓名:'.$rows['name'].'邮箱:'.$rows['email'].'<br>'; } $stmt = null;//关闭数据库 $pdo = null;
点击 "运行实例" 按钮查看在线实例
*如果在获取结果集记录数量时,如果在查询语句中直接使用*来代码所有字段,这种情况有可能会使数据库之间不能统一接口,比如你在mysql中可以获取到,但是有可能在其它数据库中没有获取到,所以要在查询语句时候,将*利用count(*)来获取所有记录条数,这样数据就统一接口了,不光可以在mysql中使用还可以在mssql等其它数据库中也可以使用。