「精巧なPHP」のサンプル章第四版の第18章データベース抽象化レイヤPDO 1

あなたは、データベース内のデータを操作するためのMySQLクライアントソフトウェアを使用してに熟練している場合さて、あなたは、データベース内のデータを表示したり変更したりPHPを使用する方法を学ぶために始めることができます。PHPは、データベースの標準を操作するための機能を提供します。あなたはバージョン5以上にPHPでMySQLとmysqli拡張機能の2セットを使用することができ、MySQLiをはPHP 5で、MySQLの拡張性が向上する新機能です。しかし、歴史問題に、PHP 4の古いプロジェクトの多くは、元のプロジェクト内の2番目の開発は、学習のいくつかの例を見つけた場合、または、MySQLの拡張機能の開発を使用する開発者は、MySQL拡張機能を使用する必要があり。プロジェクトが新しいデザインであれば、この章で説明するPDO MySQLi拡張モジュールや技術を使用することをお勧めします。また、PHP7は、完全にMySQLの拡張機能のサポートを削除しました。

 

MySQLデータベース・サーバー・プロセスにアクセスするためのPHP 18.1

MySQLは、「クライアント/サーバ」アーキテクチャを使用しています。私たちは、リモートでのMySQLデータベースサーバーを管理するには、コマンドラインを使用してきたこれまでの章では、このアプローチは、データベースを管理するためのDBA(データベース管理者)やアプリケーション開発者およびその他の技術者にのみ適しています。あなたは、通常の非技術的なユーザーがデータベースを管理することはできますか?答えはイエス、あなたがの「クライアント」の役割としてMySQL PHPの行為、データベース内のデータを処理するためのPHPスクリプトを使用することができます。PHPプログラムを通じて、いくつかのグラフィカルなインターフェイス技術の開発の組み合わせフォアグラウンドので、簡単に18-1である示す「クライアント/サーバ」フィギュアされている2つのアーキテクチャを比較し、データベースを管理することができます。

a0d0119a913143c3a1598864bab2110a.png

二つのシステムの比較図18-1「クライアント/サーバ」アーキテクチャ

 

使用PHP和直接使用客户端软件访问MySQL数据库服务器,原理及操作步骤是相同的,如图18-1所示,都需要向MySQL管理系统发送SQL命令,而SQL命令的执行则由MySQL系统本身去处理,再将查询处理结果返给请求的用户。在PHP,中可以将SQL语句划分为两种情况去操作:一种是有返回结果集的,像“SELECT”及“DESC表名”等语句,执行完成后还要在PHP中处理查询结果;另一种则是在执行后没有结果集的,像DML(INSERT/ UPDATE/DELETE)、DDL(CREATE/DROP/ALTER)或“SET NAMES utf8”等语句。DML语句执行成功后会对数据表记录行有影响,是我们操作的重点;DDL语句则很少在PHP中使用。PHP访问MySQL数据库的流程如图18-2所示。

35a0fccfa23848e1808961d39bea5ed8.png

图18-2  PHP访问MySQL数据库的流程

 

从图18-2中可以看出,必须让PHP程序先连上MySQL数据库服务器,再选择一个数据库作为默认操作的数据库,才能向MySQL数据库管理系统发送SQL语句。如果发送的是INSERT、UPDATE或DELETE等SQL语句,MySQL执行完成并对数据表的记录有所影响,则说明执行成功。如果发送的是SELECT这样的SQL语句,则会返回结果集,还需要对结果集进行处理。处理结果集又包括获取字段信息和获取记录数据两种操作,而多数情况下只需要获取记录数据即可。脚本执行结束后还需要关闭本次连接。

あなたはまだ変化の一つは、MySQL拡張を削除することです、MySQLiを推奨またはPDO_MYSQL、PHP7をMySQLのPHP5を使用している場合、実際には、PHP5.5開始から、捨てられたPHP MySQL拡張を準備し始めるMySQLデータベースサーバにアクセスするためのPHP、 「:)(にmysql_connect:非推奨MySQLの拡張が廃止され、将来的に削除されます。代わりにMySQLiをかPDOを使用する」の拡張子は、私たちは、このようなプロンプトが表示されることがあります。したがって、順序拡張のためのMySQLデータベース接続を最小化するために、互換性を維持するための手順の後。PDO(PHPデータオブジェクト)PHPの出現は新しい高さに達しています。PHP PDO、関係なく、あなたが使用しているものデータベース、クエリを実行しないと同じ機能を介してデータを取得できるようにデータベースにアクセスするための拡張ライブラリは、データアクセス抽象化レイヤーを提供し、軽量、一貫性のあるインターフェース、と定義され、大幅にこれは、データベースの操作を簡略化し、異なるデータベース間の違いをマスクすることができます。使用PDOは容易それが将来PHPデータベース処理における主要な開発方向である、クロスデータベース開発プログラム、ならびに異なるデータベース間で移植することができます。

 

 

おすすめ

転載: www.cnblogs.com/itxdl/p/11375158.html