Home >Backend Development >PHP Tutorial >How PHP uses the PDO abstraction layer to obtain query results
This article mainly introduces how PHP uses the PDO abstraction layer to obtain query results. It analyzes three common ways for PHP to use the PDO abstraction layer to obtain query results and related function usage skills. Friends in need can refer to the following.
The example in this article describes how PHP uses the PDO abstraction layer to obtain query results. Share it with everyone for your reference, the details are as follows:
PHP uses the PDO abstraction layer to obtain query results. There are three main ways:
(1) PDO::query() query.
Look at the following php code:
<?php //PDO::query()查询 $psql="SELECT * FROM user"; $res = $db->query($psql); $res->setFetchMode(PDO::FETCH_NUM); //数字索引方式 while ($row = $res->fetch()){ print_r($row); } ?>
## (2) PDO->exec() processes sql
<?php //PDO->exec()处理sql $psql="INSERT INTO user(id , username) values('' , '张三')"; $db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); $res = $db->exec($psql); echo $res; ?>
(3) PDO::prepare() preprocessing execution query
<?php //PDO::prepare()预处理执行查询 $psql="SELECT * FROM user"; $res = $db->prepare($psql); $res->execute(); while ($row = $res->fetchAll()) { print_r($row); } ?>
setAttribute() The method is to set attributes. Common parameters are as follows:
-- Mandatory Column names are lowercasePDO::CASE_NATURAL
-- Column names are in the original wayPDO::CASE_UPPER
-- Force column names to be uppercase
method to set the type of return value for obtaining the result set. Common parameters are as follows:
-- Associative array FormPDO::FETCH_NUM
-- Numeric index array formPDO::FETCH_BOTH
--Both array forms are available, this is the defaultPDO::FETCH_OBJ
-- According to the form of the object, it is similar to the previous mysql_fetch_object()
The query operation is mainly
PDO::query(), PDO::exec()
, PDO::prepare()
.
— Process a SQL statement and return a "PDOStatement" PDO->exec()
— Process a SQL statement and returns the number of affected entries
It is mainly a preprocessing operation and needs to be performed through $rs->execute() Process the SQL statements inside
(1)
fetchColumn()Get the result of a field in the specified record , the default is the first field!
<?php $psql="SELECT * FROM user"; $res = $db->query($psql); //获取指定记录里第二个字段结果 $col = $res->fetchColumn(1); echo $col; ?>
(2)
fetchAll()Get data from a result set and store it in an associative array
<?php $psql="SELECT * FROM user"; $res = $db->query($psql); $res_arr =$res->fetchAll(); print_r($res_arr); ?>
Related recommendations:
PHP pdo-based database operation class [can support mysql, sqlserver and oracle]The above is the detailed content of How PHP uses the PDO abstraction layer to obtain query results. For more information, please follow other related articles on the PHP Chinese website!