登录  /  注册
博主信息
博文 38
粉丝 0
评论 0
访问量 28660
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
PDO预处理对数据的增、删、查、改操作
一个好人
原创
882人浏览过

PDO预处理对数据操作

增:insert

  1. $username = '刘德华';
  2. $password = password_hash('123456', PASSWORD_BCRYPT);
  3. $sql = "INSERT `iuser` SET `username`= :username,`password`= :password ";
  4. $stmt = $db->prepare($sql);
  5. $stmt->bindValue(":username",$username);
  6. $stmt->bindValue(":password",$password);
  7. $stmt->debugDumpParams();
  8. $stmt->execute();

sql语句打印结果:(添加成功)

  1. SQL: [63] INSERT `iuser` SET `username`= :username,`password`= :password Params: 2
  2. Key: Name: [9] :username paramno=-1 name=[9] ":username" is_param=1 param_type=2
  3. Key: Name: [9] :password paramno=-1 name=[9] ":password" is_param=1 param_type=2

改:update

  1. $username = '刘德华';
  2. $email = '123456@qq.com';
  3. $sql = "UPDATE `iuser` SET `email`=:email WHERE `username`=:username";
  4. $stmt = $db->prepare($sql);
  5. $stmt->bindValue(":email",$email);
  6. $stmt->bindValue(":username", $username);
  7. $stmt->debugDumpParams();
  8. $stmt->execute();

sql语句打印结果:(修改成功)

  1. SQL: [60] UPDATE `iuser` SET `email`=:email WHERE `username`=:username Params: 2 Key: Name: [6] :email paramno=-1 name=[6] ":email" is_param=1 param_type=2 Key: Name: [9] :username paramno=-1 name=[9] ":username" is_param=1 param_type=2

查:select

  1. $sql = 'SELECT id,username FROM iuser WHERE id > ?';
  2. $stmt = $db->prepare($sql);
  3. if ($stmt->execute([3])) {
  4. $users = $stmt->fetchAll();
  5. foreach ($users as $user) {
  6. extract($user);
  7. vprintf("%d: %s\n", [$id, $username]);
  8. }
  9. } else {
  10. die('查询失败:' . $stmt->errorInfo());
  11. }

查询结果:

  1. 4: 西门庆 5: 易烊千玺 6: 刘德华

删:delete

  1. $sql = 'delete from iuser where id = ?';
  2. if (!stristr($sql, 'where')) {
  3. die('禁止无条件刪除');
  4. }
  5. $stmt = $db->prepare($sql);
  6. if ($stmt->execute([6])) {
  7. // $stmt->debugDumpParams();
  8. // die;
  9. if ($stmt->rowCount() > 0) {
  10. echo '删除成功';
  11. } else {
  12. echo '没有记录被删除';
  13. }
  14. } else {
  15. die('删除失败: ' . $stmt->errorInfo());
  16. }

删除成功。

总结:

数据库操作确实有点麻烦,稍有差错就失败了;?替代只会execute时传参,:username可以绑定;用的时候再多练吧!

批改老师:PHPzPHPz

批改状态:合格

老师批语:
本博文版权归博主所有,转载请注明地址!如有侵权、违法,请联系admin@php.cn举报处理!
全部评论 文明上网理性发言,请遵守新闻评论服务协议
0条评论
作者最新博文
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号

  • 登录PHP中文网,和优秀的人一起学习!
    全站2000+教程免费学