Home  >  Article  >  Backend Development  >  How PHP uses the PDO abstraction layer to obtain query results

How PHP uses the PDO abstraction layer to obtain query results

不言
不言Original
2018-06-01 13:48:031525browse

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(&#39;&#39; , &#39;张三&#39;)";
$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:

##PDO::CASE_LOWER

-- Mandatory Column names are lowercasePDO::CASE_NATURAL
-- Column names are in the original wayPDO::CASE_UPPER
-- Force column names to be uppercase

setFetchMode

method to set the type of return value for obtaining the result set. Common parameters are as follows:

PDO::FETCH_ASSOC

-- 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 above is summarized as follows:

The query operation is mainly

PDO::query()

, PDO::exec(), PDO::prepare().

PDO->query()

— Process a SQL statement and return a "PDOStatement" PDO->exec()
— Process a SQL statement and returns the number of affected entries

PDO::prepare()

It is mainly a preprocessing operation and needs to be performed through $rs->execute() Process the SQL statements inside

Finally introduce two commonly used functions:

(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!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn