温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

PHP之PDO-prepare

发布时间:2020-06-02 07:35:29 来源:网络 阅读:305 作者:liuzhongcool 栏目:web开发

当同一个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:

PDO::FETCH_ASSOC:返回一个索引为结果集列名的数组 

PDO::FETCH_BOTH(默认):返回一个索引为结果集列名和以0开始的列号的数组 

PDO::FETCH_NUM:返回一个索引为以0开始的结果集列号的数组

PDO::FETCH_OBJ:返回一个属性名对应结果集列名的匿名对象 

PDO::FETCH_BOUND:返回 TRUE ,并分配结果集中的列值给 PDOStatement::bindColumn()方法绑定PHP 变量。


返回一个包含结果集中所有行的数组

array PDOStatement::fetchAll([int fetch_style])


从结果集中的下一行返回单独的一列

string PDOStatement::fetchColumn([int column_number])

绑定列名:

boolean PDOStatement::bindColumn(mixed column, mixed &param [, int type [, int maxlen [, mixed driver_options]]])


操作事务:

开始:

boolean PDO::beginTransaction();

提交:

boolean PDO::commit();

回滚:

boolean PDO::commit()



向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI