php+pdo+mysql删除_PHP PDO 数据查询、删除实例

说明:

在“PHP MySQLi 增删查改(CURD)实例-面向对象方法”(http://hanyufeng.php.cn/blog/detail/2155)的基础上,改用PDO对象实现。

示例源码:

connetc.php<?php

//使用配置文件保存参数

require 'config.php';

//使用PDO对象

$pdo = new PDO('mysql:dbname='. DB_NAME,DB_USER, DB_PASS);//host取默认值

//$pdo = new PDO('mysql:dbname='. DB_NAME.';charset=utf8',DB_USER, DB_PASS);

$pdo->query('set names utf8');//设置字符集编码,注意不要写成utf-8。也可以在实例化PDO对象时设置,如上一行。

list.php 查询数据<?php

$pageTitle = '用户信息列表';

include  'inc/header.php';

//连接数据库

require 'inc/connect.php';

//查询用户信息表user

$sql = "SELECT `id`,`name`,`email` FROM user";  //创建查询语句

$rows = [];  //创建查询结果容器,初始为空数组,该数组最终会成为一个二维数组,与数组表对应

try

{

$pdo_stmt = $pdo->query($sql);//查询

if ($pdo_stmt->rowCount() > 0) {//如果数据不为空

$i =0;

while ($row = $pdo_stmt->fetch()) { //从结果集的第一条记录开始抓取数据到绑定的变量中

//继续沿用$rows数组保存数据,以便重复使用输出数据到页面的代码

$rows[$i] = ['id'=>$row['id'],'name'=>$row['name'],'email'=>$row['email']];

$i++;

}

}

else

{

echo '

当前表中没有数据~~

';

}

} catch (PDOException $e) {

echo '

查询失败:'.$e->getMessage().'

';

}

?>

delete.php<?php

require 'inc/connect.php';

//先查询,再更新/删除,更完善更安全

$id = $_GET['id'];

$sql = "select * FROM user WHERE id=".$id;

$pdo_stmt = $pdo->query($sql);

if($pdo_stmt->rowCount() == 1){ //按id查询,如果存在,只应返回1条记录

$row = $pdo_stmt->fetch();

$sql = "DELETE FROM user WHERE id=". $row['id'];

try {

$affected_rows = $pdo->exec($sql);

if($affected_rows == 1){

echo '';

} else {

echo '';

}

} catch (PDOException $e) {

echo $e->getMessage();

}

}

else {

echo '

要删除的记录不存在~~

';

}

要点:先查询,再更新/删除,是更完善更安全的处理方法。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值