删除操作是基于查询的,首先查询要删除的记录是否存在,如果存在,则执行删除操作,如果不存在,则结束程序。
1、查询是一个读操作,使用query()方法
2、查询会返回PDOStatement对象,可以理解为结果集对象
3、rowCount()方法,返回结果集的数量,相当于mysqli->num_rows
删除操作的代码如下:
//1、连接数据库,创建pdo对象 $pdo = new PDO('mysql:dbname=demo1','root','root'); //2、执行查询 $pdoStmt = $pdo->query("SELECT `id`,`name`,`email` FROM `user` WHERE `id`=27"); if ($pdoStmt->rowCount() == 1){ //如果查询成功,则执行下面代码 $row = $pdoStmt->fetch(); //(1)将查询到的结果集放到变量$row中 //(2)准备用于删除的SQL语句 $sql = "DELETE FROM `user` WHERE `id`='{$row['id']}'"; //(3)执行更新 if ($pdo->exec($sql) == 1){ echo '<h3>删除成功!</h3>'; }else{ echo '<h3 style="color:red;">删除失败</h3>'; } }else{ echo '<h3>要删除的记录不存在</h3>'; }