Blogger Information
Blog 33
fans 0
comment 2
visits 41943
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
PHP PDO 数据查询、删除实例
hanyufeng的博客
Original
2189 people have browsed it

说明:

在“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 '<p style="color:red">当前表中没有数据~~</p>';
    }
} catch (PDOException $e) {
    echo '<p>查询失败:'.$e->getMessage().'</p>';
}
?>

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 '<script>alert("成功删除'.$affected_rows.'条记录")</script>';
        } else {
            echo '<script>alert("删除失败")</script>';
        }
    } catch (PDOException $e) {
        echo $e->getMessage();
    }

}
else {
    echo '<p>要删除的记录不存在~~</p>';
}

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

Statement of this Website
The copyright of this blog article belongs to the blogger. Please specify the address when reprinting! If there is any infringement or violation of the law, please contact admin@php.cn Report processing!
All comments Speak rationally on civilized internet, please comply with News Comment Service Agreement
0 comments
Author's latest blog post
About us Disclaimer Sitemap
php.cn:Public welfare online PHP training,Help PHP learners grow quickly!