ホームページ  >  記事  >  バックエンド開発  >  PHP での PDO の基本的な使用法を深く理解する

PHP での PDO の基本的な使用法を深く理解する

WBOY
WBOY転載
2021-12-20 17:04:385146ブラウズ

この記事では、pdo に関する基本的な知識を提供します。PDO は、PHP5 に追加された主要な新機能です。データベース サーバーは MySQL です。プログラム コードのすべてのデータベース操作は、mysql または mysqli() 関数によって実行されます。操作、I皆さんのお役に立てば幸いです。

PHP での PDO の基本的な使用法を深く理解する

1. 基礎知識

1. PDO とは何ですか?

PDO は、PHP 操作の統一インターフェイスを備えた PHP データ オブジェクトの統一インターフェイスです。

2. PDO を使用する理由?

PDO は PHP5 に追加された主要な新機能です。データベース サーバーは MySQL です。プログラム コードのすべてのデータベース操作は、mysql() または mysqli() 関数によって操作されます。データベースを置き換える必要がある場合たとえば、SQL、SERVER、PostgreSQL、MS などに置き換えると、すべてのプログラム コードを変更することは不可能です。したがって、PDO を使用する必要があります。PDO は、この問題をうまく解決するのに役立ちます。PDO を使用すると、非常に便利です。データ ソース形式を変更し、対応するドライバー ファイルを PHP.ini にロードするだけで済みます。

3. PDOの特徴は何ですか?

1) コーディングの一貫性

# PHP で使用できるさまざまなデータベース拡張機能は異なる発行者によって作成されているため、すべての拡張機能は基本的に同じ機能を提供しますが、コーディングの一貫性が十分ではありません。 PDO はこの不一致を解消し、さまざまなデータベースに使用できる単一のインターフェイスを提供します。

2) 柔軟性

PDO は実行時に必要なデータベース ドライバーをロードするため、再構成する必要はありません。別のデータベースを使用するたびに PHP を再コンパイルしてください。たとえば、データベースを SQL から MySQL に切り替える必要がある場合、PDO_MYSQL ドライバーをロードするだけで済みます。

3) オブジェクト指向機能

PDO は、PHP5 のオブジェクト指向機能を使用して、より強力で効率的なデータベース通信を実現します。

4) 高いパフォーマンス

PDO は C で書かれ、PHP にコンパイルされており、PHP で書かれた他のソリューションと比較すると、他のすべては同じですが、より高いパフォーマンスを提供します。

2. PDO の基本的な使用法

1. PDO 構成

1) php.ini を変更し、MySQL PDO 拡張機能を追加します

ファイル php.ini で、php_pdo_mysql.dll の行を見つけてセミコロンを削除します。

2) 拡張機能ディレクトリに対応する拡張機能ファイルが存在する必要があります

php.ini、extension_dirを見つけて、これは拡張機能が存在するディレクトリです。まず先頭のセミコロンを削除してから、拡張機能のディレクトリを変更します。拡張機能のディレクトリは "E:/Web/php/ext" にあるので、extension_dir=" E:/Web に変更します。 /php/ext」。

3) PDO は別のデータに接続されています。別のデータベース ドライブ ファイル、つまり追加した構成ファイルの拡張子が必要です。
4) PDO を再起動します。サーバー、IIS/Apache、I am、I am、I 1 つは Apache なので、設定が有効になります

2. データ ソースの設定形式

1) データ ソースの形式

(1) データベースへの接続、データベース ユーザー名、データベース名 パスワード

構文: $dsn = "データベース タイプ: dbname=データベース名; host=データベース ドメイン名";

$ User = "データベースのユーザー名";

## $ Password = "データベースのパスワード";


# シリーズ試験: $ dsn = "mysql: dbname = test; host=127.0.0.1"; 3456";


(2) オブジェクトの宣言 1 )

メインアイデアを追加:

(1) 接続データベース、データベースユーザー名、データベースパスワード

(2)PDOオブジェクトの生成#

##操作の挿入、削除、更新、影響を受けるレコードの数を返す


2) クエリ

(1) クエリ方法 1:


##(2)PDOオブジェクトを生成


                                         (3)执行查询

                                实现代码:  

<?php
header(&#39;content-type:text/html;charset=utf8&#39;);
//连接数据库
$dsn="mysql:dbname=test;host=127.0.0.1";
//数据库的用户名
$user="root";
//数据库的密码
$password="123456";
//生成PDO对象
$object = new PDO($dsn,$user,$password);

$sql="select * from student";
$result = $object->query($sql);
while($arr=$result->fetch()){
    print_r($arr);
}

    查询结果为:

    

        $result的打印结果为:

         

        还可以用:

$data=$result->fetchAll();
print_r($student_info);

输出结果为二维数组:


    注释:

                1、query()执行查询语句,返回结果集对象;

              2、用循环利用fetch()方法逐个的取出记录,返回的是关联数组和索引数组两种数组,和mysql_fetch_array()的返回结果一致

                3、fetchAll()方法可以一次取出结果集中所有的数组,以二维数组的形式返回,但仍然是关联数组和索引数组两种数组

        数字索引和关联索引都有,属于浪费资源,我们只需要关联索引:还可用用一下方式查询:

$object->setAttribute(PDO::ATTR_CASE, PDO::CASE_UPPER);
$result = $object->query($sql);
$result->setFetchMode(PDO::FETCH_ASSOC);
$result_array = $result->fetchAll();
print_r($result_array);

结果为:


注释:

        setAttribute()方法是设置部分属性,主要属性有:PDO::ATTR_CASE、PDO::ATTR_ERRMODE等,我们设置的是PDO::ATTR_CASE(使用关联索引获取数据)

PDO::CASE_UPPER是设置关联索引为大写,

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

大家如果感兴趣的话,可以点击《PHP视频教程》进行更多关于PHP知识的学习。

以上がPHP での PDO の基本的な使用法を深く理解するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はcsdn.netで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。