热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

PDO对数据库的新增更新删除与员工管理系统(PDO操作的增删改、可靠的查询数据的数量、案例用户管理系统中的查询显示、更新修改)2019年2月25日22时03分

今天,学习了用PDO预处理技术对数据新增更新 删除,学习了可靠的得到查询数据数量的方法,还有学习了员工管理系统中的用户的查询更新保存的功能。一、PDO预处理数据的新增更新删

今天,学习了用PDO预处理技术对数据新增 更新  删除,学习了可靠的得到查询数据数量的方法,还有学习了员工管理系统中的用户的查询 更新 保存的功能。

一、PDO预处理数据的新增更新删除

这部分同昨天的查询大同小异,也是通过数据绑定来实现。

二、可靠的查询数据数量的方法

通过count函数得到符合条件的数据的数量,形成一个列,然后通过判断列是否有值,然后再进行查询。例如:

实例

//正确获取影响数
//连接数据库
$pdo = new PDO('mysql:host=127.0.0.1;dbname=php', 'root', 'root');
//用count函数获取影响行数的列
$sql = 'SELECT count(*) FROM `admin` WHERE `age`>:age';
$stmt = $pdo->prepare($sql);
$stmt->execute(['age'=>40]);
if ($stmt->fetchColumn(0)) {
    $sql = 'SELECT * FROM `admin` WHERE `age`>:age';
    $stmt = $pdo->prepare($sql);
    $stmt->execute(['age'=>40]);
    foreach ($stmt->fetchAll() as $item) {
        echo '

', print_r($item, true);
    }
}


运行实例 »

点击 "运行实例" 按钮查看在线实例

三、案例:员工管理系统中的用户查询,更新,保存。

功能实现的流程为:user_list(查询所有用户)-》user_edit(更新用户的用户名与密码,ajax与user_manage交互)->user_manage(对提交过来的数据进行判定,然后对数据进行更新,然后再把处理后的结果数据返回给user_edit)

实例

//连接数据库
$pdo = new PDO('mysql:host=127.0.0.1;dbname=php', 'root', 'root');
//sql语句
$sql = 'SELECT * FROM `user` LIMIT 1';
//准备对象
$stmt = $pdo->prepare($sql);
//执行
$stmt->execute();
// 员工信息
$user = $stmt->fetch(PDO::FETCH_ASSOC);
?>



    
    
    


    


        
        
            
                
                
                
                
            
            
                
                
                
                
            
        
    
用户设置
id用户名邮箱操作

                    '">编辑
                



运行实例 »

点击 "运行实例" 按钮查看在线实例

实例

    //echo $_GET['id'];
    //连接数据库
    $pdo = new PDO('mysql:host=127.0.0.1;dbname=php', 'root', 'root');
    //sql语句
    $id = intval(trim($_GET['id']));
    $sql = "SELECT * FROM `user` WHERE `id`={$id} ";
    //准备对象
    $stmt = $pdo->prepare($sql);
    //执行查询
    $stmt->execute();
    //获取查询结果数组
    $user = $stmt->fetch(PDO::FETCH_ASSOC);
?>



    
    
    


    

用户编辑


    

        
            


                
            


            


                
            


            


                
            


            
            ">
            


                保存
                取消
            


            
            


        
    

    


运行实例 »

点击 "运行实例" 按钮查看在线实例

实例

//连接数据库
$pdo = new PDO('mysql:host=127.0.0.1;dbname=php', 'root', 'root');
//获取action方法
$action = strtolower(trim($_GET['action']));
//对action方法分别进行操作
switch ($action) {
    case 'save':
        $sql = "UPDATE `user` SET `email`=:email, `password`=:password WHERE `id`=:id";
        $stmt = $pdo->prepare($sql);
        $email = strtolower(trim($_POST['email']));
        $password = strtolower(trim($_POST['password']));
        $id = strtolower(trim($_POST['id']));
        $stmt->bindParam('email', $email, PDO::PARAM_STR, 60);
        $stmt->bindParam('password', $password, PDO::PARAM_STR, 20);
        $stmt->bindParam('id', $id, PDO::PARAM_INT);
        if ($stmt->execute()) {
            if ($stmt->rowCount() === 1) {
                $status = 1;
                $message = '保存成功';
            } elseif ($stmt->rowCount() === 0) {
                $status = 0;
                $message = '信息没有更新';
            }
        } else {
            $status = -1;
            $message = '保存失败';
        }
        echo json_encode(['status'=>$status, 'message'=>$message]);
}


运行实例 »

点击 "运行实例" 按钮查看在线实例

四、总结

今天重点再案例上,难度不大但是涉及到3个页面,以及ajax的交互。这三个页面中数据的交互为:user_list是将用户中的所有数据查询然后显示,通过点击编辑按钮将id值通过get方式传递到user_edit,user_edit通过传过来的id值就可以将相应的id email  password进行展示,然后通过点击保存按钮触发其绑定的save方法,save方法主要是通过ajax将数据异步到user_manage,传输的数据有post方式的表单中的email  password 和隐藏的id  还有get方式的action值为save,数据到了user_manage后开始处理,如果action的值为save 那么就进行更新操作,更加rowcount的值来判断他是否进行修改 ,再按照实际情况将分别赋值status message,通过json格式返回给user_edit,user_edit根据相应的值进行相应的显示。

还学习了json格式,他是html认识的数据格式,php中通过json_encode返回一个json格式 js中通过json.parse()来解析成为对象或者数组;

php中trim函数用来去掉空格  strtolower用来转换为小写  intval转换成整数


推荐阅读
  • 本文介绍了lua语言中闭包的特性及其在模式匹配、日期处理、编译和模块化等方面的应用。lua中的闭包是严格遵循词法定界的第一类值,函数可以作为变量自由传递,也可以作为参数传递给其他函数。这些特性使得lua语言具有极大的灵活性,为程序开发带来了便利。 ... [详细]
  • 使用圣杯布局模式实现网站首页的内容布局
    本文介绍了使用圣杯布局模式实现网站首页的内容布局的方法,包括HTML部分代码和实例。同时还提供了公司新闻、最新产品、关于我们、联系我们等页面的布局示例。商品展示区包括了车里子和农家生态土鸡蛋等产品的价格信息。 ... [详细]
  • MySQL笔记_MySQL笔记1|数据库17问17答
    本文由编程笔记#小编为大家整理,主要介绍了MySQL笔记1|数据库17问17答相关的知识,希望对你有一定的参考价值。 ... [详细]
  • 大厂首发!思源笔记docker
    JVMRedisJVM面试内存模型以及分区,需要详细到每个区放什么?GC的两种判定方法GC的三种收集方法:标记清除、标记整理、复制算法的 ... [详细]
  • 本文介绍了在开发Android新闻App时,搭建本地服务器的步骤。通过使用XAMPP软件,可以一键式搭建起开发环境,包括Apache、MySQL、PHP、PERL。在本地服务器上新建数据库和表,并设置相应的属性。最后,给出了创建new表的SQL语句。这个教程适合初学者参考。 ... [详细]
  • 本文介绍了数据库的存储结构及其重要性,强调了关系数据库范例中将逻辑存储与物理存储分开的必要性。通过逻辑结构和物理结构的分离,可以实现对物理存储的重新组织和数据库的迁移,而应用程序不会察觉到任何更改。文章还展示了Oracle数据库的逻辑结构和物理结构,并介绍了表空间的概念和作用。 ... [详细]
  • 本文分享了一个关于在C#中使用异步代码的问题,作者在控制台中运行时代码正常工作,但在Windows窗体中却无法正常工作。作者尝试搜索局域网上的主机,但在窗体中计数器没有减少。文章提供了相关的代码和解决思路。 ... [详细]
  • 本文介绍了使用Java实现大数乘法的分治算法,包括输入数据的处理、普通大数乘法的结果和Karatsuba大数乘法的结果。通过改变long类型可以适应不同范围的大数乘法计算。 ... [详细]
  • PHP设置MySQL字符集的方法及使用mysqli_set_charset函数
    本文介绍了PHP设置MySQL字符集的方法,详细介绍了使用mysqli_set_charset函数来规定与数据库服务器进行数据传送时要使用的字符集。通过示例代码演示了如何设置默认客户端字符集。 ... [详细]
  • HDU 2372 El Dorado(DP)的最长上升子序列长度求解方法
    本文介绍了解决HDU 2372 El Dorado问题的一种动态规划方法,通过循环k的方式求解最长上升子序列的长度。具体实现过程包括初始化dp数组、读取数列、计算最长上升子序列长度等步骤。 ... [详细]
  • 如何使用Java获取服务器硬件信息和磁盘负载率
    本文介绍了使用Java编程语言获取服务器硬件信息和磁盘负载率的方法。首先在远程服务器上搭建一个支持服务端语言的HTTP服务,并获取服务器的磁盘信息,并将结果输出。然后在本地使用JS编写一个AJAX脚本,远程请求服务端的程序,得到结果并展示给用户。其中还介绍了如何提取硬盘序列号的方法。 ... [详细]
  • 本文介绍了C#中数据集DataSet对象的使用及相关方法详解,包括DataSet对象的概述、与数据关系对象的互联、Rows集合和Columns集合的组成,以及DataSet对象常用的方法之一——Merge方法的使用。通过本文的阅读,读者可以了解到DataSet对象在C#中的重要性和使用方法。 ... [详细]
  • 本文介绍了OC学习笔记中的@property和@synthesize,包括属性的定义和合成的使用方法。通过示例代码详细讲解了@property和@synthesize的作用和用法。 ... [详细]
  • [译]技术公司十年经验的职场生涯回顾
    本文是一位在技术公司工作十年的职场人士对自己职业生涯的总结回顾。她的职业规划与众不同,令人深思又有趣。其中涉及到的内容有机器学习、创新创业以及引用了女性主义者在TED演讲中的部分讲义。文章表达了对职业生涯的愿望和希望,认为人类有能力不断改善自己。 ... [详细]
  • 第8章 使用外部和内部链接
    8.1使用web地址LearnAboutafricanelephants. ... [详细]
author-avatar
喵喵心碎
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有