数据库操作:进行增删改查的sql语句
数据库中某一个表为例:
添加一条数据:
INSERT INTO `category` (`name`,`alias`) VALUES('dy','meiguodabian');
点击 "运行实例" 按钮查看在线实例
修改一条数据:
删除一条记录:
PDO常用的增删改查操作
添加操作
<?php /** * Created by PhpStorm. * User: 86152 * Date: 2019/7/26 * Time: 16:22 */ //新增记录 //1.连接数据库 require __DIR__ . '/inc/connect.php'; //2.创建SQL语句的模板 sql语句中变量 :变量名->可命名变量(重点) $sql='INSERT INTO `category` SET `name`=:name,`alias`=:alias'; //3.创建sql语句的对象 预处理对象用的是pdo中的prepare(); $stmt的对象类型是PDOStatement $stmt=$pdo->prepare($sql); //4.将变量名绑定到sql语句模板的命名占位符上 $name='dy'; $alias= '抗日神剧'; //绑定对象调用预处理对象中的bindParam(name,$name,变量的类型) $stmt->bindParam(':name',$name,PDO::PARAM_STR); $stmt->bindParam(':alias',$alias,PDO::PARAM_STR); //5.执行sql语句 执行成功后,返回的是一个boolean值,进行if判断,初始化一个变量,这个变量是$stmt->rowCount() if($stmt->execute()){ // 返回新增的数量 只要它大于0,执行成功 if($stmt ->rowCount()>0){ echo '成功的添加' . $stmt->rowCount() . '条记录数', '主键:' . $pdo->lastInsertId(); } }else{ die('<pre>' . print_r($stmt->errorInfo(),true)); } //6.关闭连接 $pdo= null;
简写版:
<?php /** * Created by PhpStorm. * User: 86152 * Date: 2019/7/27 * Time: 15:18 */ //1.连接数据库 require __DIR__ . '/inc/connect.php'; //3.创建sql语句的预处理对象 $stmt = $pdo->prepare('INSERT INTO `category` SET `name`=:name, `alias`=:alias'); //5.执行sql语句 $stmt->execute(['name'=>'dy','alias' => '抗日神剧']); if($stmt->rowCount()){ echo '成功添加' . $stmt->rowCount() . '条记录数' . '主键:' . $pdo->lastInsertId(); } //6.关闭连接 $pdo = null;
点击 "运行实例" 按钮查看在线实例
修改操作:
<?php /** * Created by PhpStorm. * User: 86152 * Date: 2019/7/27 * Time: 15:36 */ //1.连接数据库 require __DIR__ . '/inc/connect.php'; //2.创建sql语句的预处理对象 $stmt= $pdo-> prepare('UPDATE `category` SET `name`=:name, `alias`=:alias WHERE `cate_id`=:cate_id'); //3.执行sql语句 $stmt ->execute(['name'=>'mu', 'alias'=>'音乐频道', 'cate_id' =>13]); echo '成功更新' . $stmt->rowCount() .'条记录' . '主键:' . $pdo->lastInsertId(); //4.关闭连接 $pdo= null;
点击 "运行实例" 按钮查看在线实例
删除操作:
<?php /** * Created by PhpStorm. * User: 86152 * Date: 2019/7/27 * Time: 15:52 */ //1.连接数据库 require __DIR__ . '/inc/connect.php'; //2.创建sql语句的预处理对象 $stmt = $pdo->prepare('DELETE FROM `category` WHERE `cate_id` = :cate_id'); //3. 执sql $stmt ->execute(['cate_id' => 13]); echo '删除成功' . $stmt->rowCount() . '条记录' . '主键:' . $pdo->lastInsertId(); //4.关闭连接 $pdo = null;
点击 "运行实例" 按钮查看在线实例
查询操作:
<?php /** * Created by PhpStorm. * User: 86152 * Date: 2019/7/27 * Time: 15:59 */ //逐条输出 //1.连接数据库 require __DIR__ . '/inc/connect.php'; //2.创建sql预处理对象 $stmt =$pdo->prepare( 'SELECT * FROM `movies` WHERE `cate_id` = :cate_id' ); //3.执行sql $stmt->execute(['cate_id'=> 2]);//获取到结果集 //处理结果集 方法一:进行while遍历 fetch() //echo '<pre>' . print_r($stmt->fetch(),true); //echo '<pre>' . print_r($stmt->fetch(),true); //FETCH_ASSOC:获取模式,一旦加上这个,就没有索引部分,只有关联部分 //while($movie=$stmt->fetch(PDO::FETCH_ASSOC)){ // echo '<pre>' . print_r($movie,true); //} //echo '<pre> ' . print_r($stmt->fetchAll(PDO::FETCH_ASSOC),true); //方法二:fetchALL输出结果为一个二维数组,用foreach遍历 数据很少用 //$movie= $stmt->fetchAll(PDO::FETCH_ASSOC); //foreach ($movie as $movie){ // echo '<pre>' . print_r($movie,true); //} //方法三:把表中的某一列数据放到一个变量里面,每次循环的时候不用看表, //直接遍历变量,把这个变量与当前结果集的某一个列进行绑定 $stmt->bindColumn('name',$name); $stmt->bindColumn('detail',$detail); while($stmt->fetch(PDO::FETCH_ASSOC)){ echo '简介:' . $name,' . =====>别名:' . $detail . '<br>'; } //4.关闭连接 $pdo = null;
点击 "运行实例" 按钮查看在线实例