この記事では、PDO 抽象化層を使用してクエリ結果を取得する 3 つの一般的な方法と、関連する関数の使用スキルを例の形式で分析します。
この記事の例では、PHP が PDO 抽象化レイヤーを使用してクエリ結果を取得する方法について説明します。参考のために皆さんと共有してください。詳細は次のとおりです:
PHP は PDO 抽象化レイヤーを使用してクエリ結果を取得します。主に 3 つの方法があります:
(1) PDO::query() クエリ。
次の PHP コードを見てください:
<?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() 処理 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() 前処理 Exエキュートquery
<?php //PDO::prepare()预处理执行查询 $psql="SELECT * FROM user"; $res = $db->prepare($psql); $res->execute(); while ($row = $res->fetchAll()) { print_r($row); } ?>
setAttribute()
メソッドは属性を設定します。 共通パラメータは次のとおりです: setAttribute()
方法是设置属性,常用参数如下:
PDO::CASE_LOWER -- 强制列名是小写
PDO::CASE_NATURAL -- 列名按照原始的方式
PDO::CASE_UPPER -- 强制列名为大写
setFetchMode
方法来设置获取结果集的返回值的类型,常用参数如下:
PDO::FETCH_ASSOC -- 关联数组形式
PDO::FETCH_NUM -- 数字索引数组形式
PDO::FETCH_BOTH -- 两者数组形式都有,这是默认的
PDO::FETCH_OBJ -- 按照对象的形式,类似于以前的 mysql_fetch_object()
对上面总结如下:
查询操作主要是PDO::query()
、PDO::exec()
、PDO::prepare()
。
PDO->query()
— 处理一条SQL语句,并返回一个“PDOStatement”PDO->exec()
— 处理一条SQL语句,并返回所影响的条目数
PDO::prepare()
主要是预处理操作,需要通过$rs->execute()来执行预处理里面的SQL语句
最后介绍两个常用的函数:
(1)fetchColumn()
获取指定记录里一个字段结果,默认是第一个字段!
<?php $psql="SELECT * FROM user"; $res = $db->query($psql); //获取指定记录里第二个字段结果 $col = $res->fetchColumn(1); echo $col; ?>
(2)fetchAll()
PDO::CASE_LOWER
-- 列名を強制的に小文字にするPDO::CASE_NATURAL
-- 列名は元の形式ですPDO:: CASE_UPPER
-- 必須 列名は大文字です。setFetchMode
メソッドで、結果セットを取得するための戻り値のタイプを設定します。 共通パラメータは次のとおりです。
PDO::FETCH_ASSOC
PDO::FETCH_NUM
-- 数値インデックス配列形式PDO::FETCH_BOTH -- 両方の配列 すべての形式があります。これがデフォルトです PDO::FETCH_OBJ
-- オブジェクトの形式によれば、次のようになります前回の mysql_fetch_object() 🎜🎜🎜 上記の要約は次のとおりです: 🎜🎜🎜 クエリ操作は主にPDO::query()
、PDO::exec()
、 PDO::prepare()
。 🎜🎜PDO->query()
— SQL ステートメントを処理し、「PDOStatement」を返します。 🎜PDO->exec()
— SQL ステートメントを処理し、戻り値を返します。影響を受けるエントリの数🎜🎜🎜PDO::prepare()
これは主に前処理操作です。前処理で SQL ステートメントを実行するには $rs->execute() を使用する必要があります🎜🎜。 🎜最後に、よく使用される 2 つの関数を紹介します: 🎜🎜🎜 (1) fetchColumn()
指定されたレコードのフィールドの結果を取得します。デフォルトは最初のフィールドです。 🎜🎜🎜<?php $psql="SELECT * FROM user"; $res = $db->query($psql); $res_arr =$res->fetchAll(); print_r($res_arr); ?>🎜🎜🎜 (2)
fetchAll()
結果セットからデータを取得し、連想配列に格納します 🎜🎜🎜rrreee🎜🎜🎜🎜🎜 関連推奨事項: 🎜🎜🎜PHP ベースPDO のデータベース操作クラス [mysql、sqlserver、oracle をサポート可能]🎜🎜🎜🎜🎜🎜🎜🎜🎜以上がPHP が PDO 抽象化レイヤーを使用してクエリ結果を取得する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。