PDO预处理
prepare()和execute()方法执行查询语句
返回的是一个对象
执行成功$res返回的是true
fetch()得到查询的一条记录
fetchAll()得到查询的所有记录
或者
fetch()和fetchAll()返回的都是二维数组(默认的是关联+索引)
如果只想返回关联数组,写法如下:
如果想返回的是对象,写法如下:
除了这样设置,还有个方法可以直接设置返回的数组模式
先声明,然后使用
这样得到就是关联数组
预处理语句中的占位符的使用
预处理语句对同一条SQL只编译一次,减少开销
第一种:命名参数占位符
第二种:问号占位符
bindParam()方法绑定参数
第一种:命名参数占位符
第三个变量默认是字符串类型
第二种:问号占位符
绑定参数是从1开始的
建议使用命名参数占位符
bindValue()方法绑定参数
第一种:问号占位符
第二种:命名参数占位符
将一个值长期绑定到某个值(以问号占位符为例),如果该值不变,则该绑定不变
bindColumn()方法绑定参数
返回的是数组
fetchColumn()方法从结果集中返回一列
取回的数据没有办法去的同一行的另外一列,因为没fetchColumn一次相当于指针向下一列移动了一次,没办法取得同一列相应的值
debugDumpParams()方法打印一条预处理语句
命名占位符和问号占位符有点不一样
nextRowset()方法将结果集中指针下移