ホームページ > バックエンド開発 > PHPチュートリアル > PHP PDO の概要、phppdo_PHP チュートリアルの概要

PHP PDO の概要、phppdo_PHP チュートリアルの概要

WBOY
リリース: 2016-07-13 10:09:17
オリジナル
756 人が閲覧しました

PHP PDO についての理解のまとめ、phppdo の概要

1. PDO (PHP Data Object) 拡張機能は、PHP がデータベースにアクセスするための軽量で永続的なインターフェイスを定義します。 PDO インターフェイスを実装する各データベース ドライバーは、定期的な拡張の形式で独自の特性を表現できます。

主に: PDO 拡張機能は単なる抽象インターフェイス層です。PDO 拡張機能自体はデータベース操作を実装できません。データベースにアクセスするには、特定のデータベース PDO ドライバーを使用する必要があります。

2. PDO の起動方法: php.ini ファイルを見つけます

コードをコピーします コードは次のとおりです:
;extension=php_pdo.dll

前のセミコロンを削除するだけです (Linux 環境と同様)

3. PDO 事前定義クラス:

PDO には、PDO、PDOStatement、PDOException の 3 つの事前定義クラスが含まれています

(1) PDOクラス:PHPとデータベース間の接続を表します

PDO: コンストラクター、新しい PDO オブジェクトを作成します

beginTransaction:トランザクションを開始します

コミット: トランザクションを送信します

errorCode: データベースからエラーコードを返します(ある場合)

errorInfo: データベースからエラー情報があれば、それを含む配列を返します

Exec: SQL ステートメントを実行し、影響を受けた行数を返します

getAttribute: データベース接続属性を返します

lastInsertId: データベースに挿入された最新の行(ID)を返します

準備: SQL ステートメントの実行を準備し、ステートメントの実行後に結合結果セットを返します

クエリ: SQL ステートメントを実行し、結果セットを返します

rollBack: トランザクションをロールバックします

setAttribute: データベース接続属性を設定します

(2) PDOStatement クラス: 前処理ステートメントとステートメント実行後の結合結果セットを表します

bindColomn: PHP変数を結果セットの出力列にバインドします

bindParam: PHP プリペアドステートメントのパラメータに変数をバインドします

bindValue: 処理ステートメント内のパラメータに値をバインドします

closeCursor: ステートメントを再度実行できるようにカーソルを閉じます

cloumnCount: 結果セット内の列の数を返します

errorCode: ステートメントにエラー コードがある場合は、それを返します

errorInfo: ステートメントからのエラー情報を含む配列を返します

execute: 準備されたステートメントを実行します

fetch: 結果セットから行を取り出します

fetchAll: 結果セットからすべての行を含む配列を取得します

fetchColomn: 結果セット内の特定の列のデータを返します

getAttribute: PDOStatement 属性を返します

getColomnMeta: 結果セット内の特定の列の構造を返します

nextRowset: 次の結果セットを返します

rowCount: SQL ステートメントの実行後に影響を受ける行数を返します

setAttribute: PDOStatement 属性を設定します

setFetchMode: PDOStatementのデータを取得するように設定します

トランザクション処理の簡単な例を示します:

コードをコピーします コードは次のとおりです:

/*
トランザクション処理
MYSQL テーブル エンジン MyISAM InnoDB
フィールドを追加します。テーブルを変更します。ユーザーはお金を追加します。int は null ではありません。デフォルトは 0;
テーブル エンジンの表示、テーブル ユーザーの作成を表示
テーブル エンジンを変更するテーブル ユーザー エンジンを変更する=InnoDB
*/


試してください{
//PDO をインスタンス化します
$pdo=new PDO("mysql:host=localhost;dbname=photo","root","123456".array('3'=>'2'));
}catch(PDOException $e){
echo $e->getMessage();
}
//文字セットを設定します
$sql="セット名 utf8";
$pdo->exec($sql);
//トランザクション処理を開始します
$pdo->beginTransaction();
$num=250;
$sql="ユーザー設定のお金を更新=money-{$num}、id =1";
$rows=$pdo->exec($sql);

$sql="ユーザー設定 monet=money-{$num} を更新 (id=2)";
$rows+=$pdo->exec($sql);
//トランザクション処理を終了します
If($rows==2){
$pdo->commit();
}その他{
$pdo->rollBack();
}
?>

(トランザクションの主な特徴: 原子性、一貫性、独立性、耐久性)

4. PDOの最大の特徴はパラメータバインディングとプリコンパイルの導入です

プリコンパイルは、転送とソフト解析速度という 2 つのことを担当します。プリコンパイルをサポートするには、データベースのサポートに加えて、プログラムにはドライバーのサポート (PDO および NySQLi のサポート) も必要です

5. PDO 効率の問題

(1) データ量の多い大規模なテーブルでテストしたところ、PDO の CRUD 効率は MySql 直接接続より 5%~15% 低く、分散は MySQL 直接接続よりも大きいです

(2)負荷に関しては、PDOは長い接続を開いた後はMySQLよりも負荷が高く、比較的安定しています。

実際、実際のアプリケーションでは、90% のプログラムがデータベース移行を実行せず、データベース移行を実行するアプリケーションはほとんどありません。

www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/946747.html技術記事 PHP PDO についての概要、phppdo の概要 1. PDO (PHP Data Object) 拡張機能は、PHP のデータベースにアクセスするための軽量で永続的なインターフェイスを定義します。 PDO インターフェースを実装するすべてのデータベース...
関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート