PDOStatement

本章节列出截至PHP 7.3.6所有的PDOStatment类函数以供参考。

PDOStatement是预处理语句类。下表以相关性排序。

函数名 描述
getAttribute() 检索一个 PDO 语句的数据库驱动特定属性(通用属性不包括在内)
setAttribute() 为 PDO 语句类设置一个数据库驱动特定属性(通用属性不包括在内)
setFetchMode() 为 PDO 语句设置默认的获取结果集模式
getColumnMeta() 返回 PDO 结果集中某一列的元数据的关联数组
bindColumn() 将指定列的值绑定到一个变量
bindParam() 将一个变量名绑定到预处理 SQL 语句的指定参数的占位符
bindValue() 将一个绑定到预处理 SQL 语句的指定参数的占位符
closeCursor() 关闭正在移动的游标,使得语句能够被再次执行
execute() 执行一条预处理语句
fetch() PDOStatement结果集中获取下一行
fetchAll() PDOStatement::fetch()方法不同,返回结果集中剩余的所有行
fetchColumn() 从结果集的下一行获取指定列值
fetchObject() 获取PDOStatement结果集中下一行的数据,并将其作为一个对象返回
nextRowset() 在一个具有多个PDOStatement结果集的数据库句柄中,向下推进至下一个结果集
rowCount() 返回数据库受上一个 SQL 语句影响的行数
columnCount() 返回PDOStatement结果集中的列数
debugDumpParams() 直接输出一条关于 SQL 预处理语句包含的信息
errorCode() 获取数据库上一次操作的错误码
errorInfo() 返回数据库上一次操作的错误信息数组

本参考手册的格式说明:

  • 函数名
  • 定义
  • 语法
    • 函数名
    • 参数列表:参数列表中,变量名前是该变量的数据类型,其中特殊的mixed表示有多种可能的数据类型;使用方括号包裹的参数表示可选
    • 返回类型:冒号后面是函数的标准返回类型
  • 参数说明
  • 示例
  • 延展阅读
    • 与当前函数具有相关性、相似性的函数

注:本章节示例依赖数据库与服务器环境,请先根据之前的环境搭建教程搭建好自己的环境!

前期准备

  • 数据库配置

    • 本教程所涉及数据库驱动一律为 MySQL 5.7+
    • MySQL 用户名:root
    • MySQL 密码:mysql
    • 使用数据库:test
  • 涉及数据表(如果没有可运行下列 SQL 语句):

    • movie
      CREATE TABLE `movie` (
        `id` int(10) unsigned NOT NULL AUTO_INCREMENT COMMENT '豆瓣高分电影',
        `name` varchar(60) COLLATE utf8mb4_bin NOT NULL COMMENT '电影名称',
        `rate` float(2,1) unsigned NOT NULL DEFAULT '0.0' COMMENT '豆瓣评分',
        `url` varchar(150) COLLATE utf8mb4_bin NOT NULL DEFAULT '' COMMENT '电影豆瓣网址',
        `cover` varchar(255) COLLATE utf8mb4_bin NOT NULL DEFAULT '' COMMENT '封面图片',
        `cover_x` int(255) unsigned NOT NULL DEFAULT '0' COMMENT '封面横向尺寸',
        `cover_y` int(255) unsigned NOT NULL DEFAULT '0' COMMENT '封面纵向尺寸',
        PRIMARY KEY (`id`),
        KEY `i_name` (`name`),
        KEY `i_rate` (`rate`)
      ) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin COMMENT='电影';
      INSERT INTO `movie`(`id`, `name`, `rate`, `url`, `cover`, `cover_x`, `cover_y`) VALUES (1, '哪吒之魔童降世', 8.5, 'https://movie.douban.com/subject/26794435/', 'https://img3.doubanio.com/view/photo/s_ratio_poster/public/p2563780504.jpg', 5594, 8268);
      INSERT INTO `movie`(`id`, `name`, `rate`, `url`, `cover`, `cover_x`, `cover_y`) VALUES (2, '我不是药神', 9.0, 'https://movie.douban.com/subject/26752088/', 'https://img9.doubanio.com/view/photo/s_ratio_poster/public/p2561305376.jpg', 2810, 3937);
      INSERT INTO `movie`(`id`, `name`, `rate`, `url`, `cover`, `cover_x`, `cover_y`) VALUES (3, '续命之徒:绝命毒师电影', 8.3, 'https://movie.douban.com/subject/30372377/', 'https://img1.doubanio.com/view/photo/s_ratio_poster/public/p2569548689.jpg', 1500, 2222);
      INSERT INTO `movie`(`id`, `name`, `rate`, `url`, `cover`, `cover_x`, `cover_y`) VALUES (4, '肖申克的救赎', 9.7, 'https://movie.douban.com/subject/1292052/', 'https://img3.doubanio.com/view/photo/s_ratio_poster/public/p480747492.jpg', 2000, 2963);
      INSERT INTO `movie`(`id`, `name`, `rate`, `url`, `cover`, `cover_x`, `cover_y`) VALUES (5, '这个杀手不太冷', 9.4, 'https://movie.douban.com/subject/1295644/', 'https://img3.doubanio.com/view/photo/s_ratio_poster/public/p511118051.jpg', 658, 980);
      INSERT INTO `movie`(`id`, `name`, `rate`, `url`, `cover`, `cover_x`, `cover_y`) VALUES (6, '绿皮书', 8.9, 'https://movie.douban.com/subject/27060077/', 'https://img3.doubanio.com/view/photo/s_ratio_poster/public/p2549177902.jpg', 2000, 3167);
      INSERT INTO `movie`(`id`, `name`, `rate`, `url`, `cover`, `cover_x`, `cover_y`) VALUES (7, '摔跤吧!爸爸', 9.0, 'https://movie.douban.com/subject/26387939/', 'https://img3.doubanio.com/view/photo/s_ratio_poster/public/p2457983084.jpg', 4500, 6300);
      INSERT INTO `movie`(`id`, `name`, `rate`, `url`, `cover`, `cover_x`, `cover_y`) VALUES (8, '千与千寻', 9.3, 'https://movie.douban.com/subject/1291561/', 'https://img1.doubanio.com/view/photo/s_ratio_poster/public/p2557573348.jpg', 1080, 1560);
      INSERT INTO `movie`(`id`, `name`, `rate`, `url`, `cover`, `cover_x`, `cover_y`) VALUES (9, '疯狂动物城', 9.2, 'https://movie.douban.com/subject/25662329/', 'https://img1.doubanio.com/view/photo/s_ratio_poster/public/p2315672647.jpg', 1418, 2005);
      INSERT INTO `movie`(`id`, `name`, `rate`, `url`, `cover`, `cover_x`, `cover_y`) VALUES (10, '泰坦尼克号', 9.4, 'https://movie.douban.com/subject/1292722/', 'https://img3.doubanio.com/view/photo/s_ratio_poster/public/p457760035.jpg', 2015, 3000);
      INSERT INTO `movie`(`id`, `name`, `rate`, `url`, `cover`, `cover_x`, `cover_y`) VALUES (11, '阿甘正传', 9.5, 'https://movie.douban.com/subject/1292720/', 'https://img3.doubanio.com/view/photo/s_ratio_poster/public/p2559011361.jpg', 2445, 3229);
      INSERT INTO `movie`(`id`, `name`, `rate`, `url`, `cover`, `cover_x`, `cover_y`) VALUES (12, '霸王别姬', 9.6, 'https://movie.douban.com/subject/1291546/', 'https://img3.doubanio.com/view/photo/s_ratio_poster/public/p2561716440.jpg', 600, 889);
      INSERT INTO `movie`(`id`, `name`, `rate`, `url`, `cover`, `cover_x`, `cover_y`) VALUES (13, '寻梦环游记', 9.0, 'https://movie.douban.com/subject/20495023/', 'https://img1.doubanio.com/view/photo/s_ratio_poster/public/p2503997609.jpg', 1432, 2048);
      INSERT INTO `movie`(`id`, `name`, `rate`, `url`, `cover`, `cover_x`, `cover_y`) VALUES (14, '复仇者联盟4:终局之战', 8.5, 'https://movie.douban.com/subject/26100958/', 'https://img9.doubanio.com/view/photo/s_ratio_poster/public/p2552058346.jpg', 3000, 4440);
      INSERT INTO `movie`(`id`, `name`, `rate`, `url`, `cover`, `cover_x`, `cover_y`) VALUES (15, '复仇者联盟3:无限战争', 8.1, 'https://movie.douban.com/subject/24773958/', 'https://img3.doubanio.com/view/photo/s_ratio_poster/public/p2517753454.jpg', 1968, 2756);
      INSERT INTO `movie`(`id`, `name`, `rate`, `url`, `cover`, `cover_x`, `cover_y`) VALUES (16, '头号玩家', 8.7, 'https://movie.douban.com/subject/4920389/', 'https://img1.doubanio.com/view/photo/s_ratio_poster/public/p2516578307.jpg', 2000, 3000);
      INSERT INTO `movie`(`id`, `name`, `rate`, `url`, `cover`, `cover_x`, `cover_y`) VALUES (17, '无名之辈', 8.1, 'https://movie.douban.com/subject/27110296/', 'https://img9.doubanio.com/view/photo/s_ratio_poster/public/p2539661066.jpg', 1429, 2000);
      INSERT INTO `movie`(`id`, `name`, `rate`, `url`, `cover`, `cover_x`, `cover_y`) VALUES (18, '盗梦空间', 9.3, 'https://movie.douban.com/subject/3541415/', 'https://img3.doubanio.com/view/photo/s_ratio_poster/public/p513344864.jpg', 2229, 3300);
      INSERT INTO `movie`(`id`, `name`, `rate`, `url`, `cover`, `cover_x`, `cover_y`) VALUES (19, '你的名字。', 8.4, 'https://movie.douban.com/subject/26683290/', 'https://img1.doubanio.com/view/photo/s_ratio_poster/public/p2395733377.jpg', 1428, 2000);
      INSERT INTO `movie`(`id`, `name`, `rate`, `url`, `cover`, `cover_x`, `cover_y`) VALUES (20, '三傻大闹宝莱坞', 9.2, 'https://movie.douban.com/subject/3793023/', 'https://img3.doubanio.com/view/photo/s_ratio_poster/public/p579729551.jpg', 3030, 4364);