数据库操作:
1、查询操作主要是PDO->query()??主要是用于有记录结果返回的操作,特别是SELECT操作。
2、PDO->exec() 主要是针对没有结果集合返回的操作,比如INSERT、UPDATE、DELETE等操作,它返回的结果是当前操作影响的列数。
3、PDO->prepare() 主要是预处理操作,需要通过PDO->execute()来执行预处理里面的SQL语句,这个方法可以绑定参数,功能比较强大,后面再做分析……
?
获取结果集
1、PDOStatement->fetchColumn()?是获取结果指定第一条记录的某个字段,缺省是第一个字段。
2、PDOStatement->fetch() 是用来获取一条记录,该方法行为类似mysql_fetch_array(),不同的是该方法不仅可以返回数组,还可以返回对象。
?
参数取值:
?
?
PDO::FETCH_ASSOC | 关联索引(字段名)数组形式 |
PDO::FETCH_NUM | 数字索引数组形式 |
PDO::FETCH_BOTH | 默认,关联及数字索引数组形式都有 |
PDO::FETCH_OBJ | 按照对象的形式 |
PDO::FETCH_BOUND | 通过 bindColumn() 方法将列的值赋到变量上 |
PDO::FETCH_CLASS | 以类的形式返回结果集,如果指定的类属性不存在,会自动创建 |
PDO::FETCH_INTO | 将数据合并入一个存在的类中进行返回 |
PDO::FETCH_LAZY | 结合了 PDO::FETCH_BOTH、PDO::FETCH_OBJ,在它们被调用时创建对象变量 |
?
如果不在fetch()指定返回结果类型,可以单独使用setFetchMode();
?
?
3、PDOStatement->fetchAll() 是获取所有记录集,从记录集一次性取出并放入数组中
参数取值
?
PDO::FETCH_COLUMN | 指定返回返回结果集中的某一列,具体列索引由 column_index 参数指定 |
PDO::FETCH_UNIQUE | 以首个键值下表,后面数字下表的形式返回结果集 |
PDO::FETCH_GROUP | 按指定列的值分组 |
?
4、另外有两个周边的操作,一个是PDO->lastInsertId()和PDOStatement->rowCount()。
PDO->lastInsertId() 返回最后一次执行插入的主键值,如果一条语句多次插入则返回第一个主键值:id+rows-1。
PDOStatement->rowCount()?主要是用于PDO->query()和PDO->prepare()进行DELETE、INSERT、UPDATE操作影响的结果集,对PDO->exec()方法和SELECT操作无效。
?
5、PDO->setAttribute() 全局性设置,包括列名格式和错误类型
?
//----------------------------------我是分割线,未完待续------------------------------?
?