PHP之PDO-prepare
当同一个SQL多次查询(执行)时,只是每次的查询条件(数据)不一样,那么,使用prepare就对了.
它可大大减少查询(执行)时间,服务器资源消耗..
原型:
PDOStatement PDO::prepare(string query [, array driver_options])
占位符:
1,有名占位符(:named parameters)
2,问号占位符(?)
如:
INSERTINTOproductsSETsku=:sku,name=:name;INSERTINTOproductsSETsku=?,name=?;
绑定一个参数到指定的变量名:
boolPDOStatement::bindParam(mixed$parameter,mixed&$variable[,int$data_type=PDO::PARAM_STR[,int$length[,mixed$driver_options]]])//命名占位符$stmt->bindParam(':sku',$sku);$stmt->bindParam(':title',$title);//问号占位符$stmt->bindParam(1,$sku);$stmt->bindParam(2,$title);
执行步骤:
$dbh->prepare();//准备$dbh->bindParam();//绑定参数$dbh->execute();//执行
查询返回字段个数:
integerPDOStatement::columnCount()
从结果集中返回下一行数据:
mixedPDOStatement::fetch([intfetch_style[,intcursor_orientation[,intcursor_offset]]])
常用fetch_style:
PDO::FETCH_ASSOC:返回一个索引为结果集列名的数组
PDO::FETCH_BOTH(默认):返回一个索引为结果集列名和以0开始的列号的数组
PDO::FETCH_NUM:返回一个索引为以0开始的结果集列号的数组
PDO::FETCH_OBJ:返回一个属性名对应结果集列名的匿名对象
PDO::FETCH_BOUND:返回 TRUE ,并分配结果集中的列值给 PDOStatement::bindColumn()方法绑定PHP 变量。
返回一个包含结果集中所有行的数组
arrayPDOStatement::fetchAll([intfetch_style])
从结果集中的下一行返回单独的一列
stringPDOStatement::fetchColumn([intcolumn_number])
绑定列名:
booleanPDOStatement::bindColumn(mixedcolumn,mixed¶m[,inttype[,intmaxlen[,mixeddriver_options]]])
操作事务:
开始:
booleanPDO::beginTransaction();
提交:
booleanPDO::commit();
回滚:
booleanPDO::commit()
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。