PHP CURD

什么是CURD

  • 读操作 :select;
  • 写操作: insert(增加), update(更新).delete(删除)
  • 简称:CURD,增删改查

    INSERT 增加

    1. $sql= 'INSERT `staff` SET `name` = ? , `sex` = ? , `email` = ? ';
    2. //1.创建SQL模板
    3. $stmt = $db->prepare($sql);
    4. // var_dump($stmt);
    5. echo '<br>';
    6. //2. 执行SQL
    7. // 单条数据插入
    8. $stmt->execute(['杨过','1','yangguo@qq.com']);
    9. //多条数据插入
    10. $stmt->execute(['天宁','1','tianming@qq.com']);
    11. $stmt->execute(['老冒','1','laomo@qq.com']);
    12. $stmt->execute(['红红','1','honghong@qq.com']);
    13. $stmt->execute(['小龙女','0','xiaolongnv@qq.com']);
    14. //上线后
    15. //$stmt->rowCount(): 返回受影响的记录数量
    16. if($stmt->rowCount() > 0){
    17. //查看主键id 用
    18. echo '新增成功 ' . $db->LastInsertId();
    19. }else{
    20. echo '新增失败';
    21. print_r($stmt->errorInfo());
    22. }

    CURD UPDATE (修改)

    1.连接数据库
    require DIR.’/confint/db.php’;
    //2.CURD UPDATE (修改)

    // UPDATE 表命 SET 字段1=值1 … WHERE 更新的条件
    $sql= ‘UPDATE staff SET name = ? WHERE id = ?’;
    //1.创建SQL模板
    $stmt = $db->prepare($sql);

    $stmt->execute([‘建红’,51]);

// var_dump( $stmt->execute([‘建红’,50]));
// die;
if ($stmt->rowCount() > 0) {
echo ‘更新成功’;
} else {
echo ‘更新失败’;
print_r($stmt->errorInfo());
} ```

CURD DELETE (删除)

  1. // DELETE FROM 表命 ... WHERE 条件
  2. $sql= 'DELETE FROM `staff` WHERE `id` = ? ';
  3. // '?': 匿名占位符
  4. // '?': 匿名占位符
  5. // $sql= 'DELETE FROM `staff` WHERE `id` = :id ';
  6. $stmt = $db->prepare($sql);
  7. // '?': 匿名占位符 插值
  8. $stmt->execute([$id]);
  9. // '?': 匿名占位符 插值
  10. // $stmt->execute([':id'=>55]);
  11. if ($stmt->rowCount() > 0) {
  12. echo '更新成功';
  13. } else {
  14. echo '更新失败';
  15. print_r($stmt->errorInfo());
  16. ## .CURD SELECT (单条查询)
  17. //1.连接数据库
  18. require __DIR__.'/confint/db.php';
  19. //2.CURD SELECT (单条查询)
  20. // SELECT 字段名 FROM 表名.. WHERE 更新的条件
  21. $sql= 'SELECT `id`,`name` FROM `staff` WHERE `id` > ?';
  22. $stmt = $db->prepare($sql);
  23. $stmt->execute([50]);
  24. //单条查询fetch
  25. // $staff = $stmt->fetch();
  26. // printf('<pre>%s</pre>',print_r($staff,true));
  27. // //获取关联部分
  28. // $staff = $stmt->fetch(PDO::FETCH_ASSOC);
  29. // printf('<pre>%s</pre>',print_r($staff,true));
  30. // $staff = $stmt->fetch(PDO::FETCH_ASSOC);
  31. // printf('<pre>%s</pre>',print_r($staff,true));
  32. $staff = $stmt->fetch();
  33. printf('<pre>%s</pre>',print_r($staff,true));

描述PDO的本质与原理是什么?为什么要用预处理?

  • 为什么要用预处理
    • 1.防止SQL注入攻击
    • 2.数据延迟绑定(编程是只写SQL语句模板,执行SQL时再给占位符绑定真实数据)
    • 预处理过程:
    • 1.创建SQL语句模板:数据使用占位符表示
    • 2.执行SQL 语句,根据操作类型(写/读),返回结果集/数组,写返回受影响的记录数量

更多相关文章

  1. Android之Sqlite模糊查询
  2. Android之怎么使用SQLite数据库(增、删、改、查、分页等)以及Lis
  3. mysql:1. 实例演示数据库的CURD操作 2. 描述PDO的本质与原理是什
  4. 实例演示数据库的CURD操作及PDO的本质与原理
  5. CURD 操作,PDO 本质\原理,使用预处理的原因
  6. 数据库的CURD操作,PDO的本质与原理,预处理作用
  7. 实例演示数据库的CURD操作、PDO的本质与原理是什么?为什么要用预
  8. 预处理语句与存储过程
  9. PDO预处理中的prepare()和execute()方法

随机推荐

  1. Java EE 8 的五大最新特性
  2. Android中如何实现圆形按钮的颜色变化
  3. Java 虚拟机 ( JVM ) 概述
  4. 面试前需要了解的东西
  5. 深入学习 Java 线程池
  6. Java 程序员应该知道的 10 个面向对象理
  7. 阻塞队列实现生产者消费者模式
  8. 避免 Java 应用中 NullPointerException
  9. 数据库两大神器【索引和锁】
  10. 从惰性IO说起_Haskell笔记6