当同一个SQL多次查询(执行)时,只是每次的查询条件(数据)不一样,那么,使用prepare就对了.
它可大大减少查询(执行)时间,服务器资源消耗..
原型:
PDOStatement PDO::prepare(string query [, array driver_options])
占位符:
1,有名占位符(:named parameters)
2,问号占位符(?)
如:
INSERT INTO products SET sku = :sku, name = :name;
INSERT INTO products SET sku = ?, name = ?;
绑定一个参数到指定的变量名:
bool PDOStatement::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(); //执行
查询返回字段个数:
integer PDOStatement::columnCount()
从结果集中返回下一行数据:
mixed PDOStatement::fetch([int fetch_style [, int cursor_orientation [, int cursor_offset]]])
常用fetch_style:
返回一个包含结果集中所有行的数组
array PDOStatement::fetchAll([int fetch_style])
从结果集中的下一行返回单独的一列
string PDOStatement::fetchColumn([int column_number])
绑定列名:
boolean PDOStatement::bindColumn(mixed column, mixed ¶m [, int type [, int maxlen [, mixed driver_options]]])
操作事务:
开始:
boolean PDO::beginTransaction();
提交:
boolean PDO::commit();
回滚:
boolean PDO::commit()
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。