ホームページ > バックエンド開発 > PHPチュートリアル > [phpチュートリアル] PHP PDO

[phpチュートリアル] PHP PDO

黄舟
リリース: 2023-03-04 08:40:01
オリジナル
921 人が閲覧しました

PHP PDO

PHP Data Objects (PDO) 拡張機能は、PHP がデータベースにアクセスするための軽量で一貫したインターフェイスを定義します。

PDO はデータ アクセス抽象化レイヤーを提供します。これは、どのデータベースが使用されても、同じ関数 (メソッド) を使用してデータのクエリと取得ができることを意味します。

PDO は PHP5.1 でリリースされ、PHP5.0 の PECL 拡張機能でも使用できます。以前の PHP バージョンでは実行できません。

PDO のインストール

PHP の phpinfo() 関数を通じて、PDO 拡張機能がインストールされているかどうかを確認できます。

Unix システムへの PDO のインストール

Unix または Linux では、次の拡張機能を追加する必要があります:

extension=pdo.so
ログイン後にコピー

Windows ユーザー

PDO とすべての主要なドライバーは共有拡張機能として PHP とともに配布されており、アクティブ化するには php.ini を編集するだけです。ファイルを開き、次の拡張子を追加します:

extension=php_pdo.dll
ログイン後にコピー

さらに、以下に対応するさまざまなデータベース拡張子があります:

;extension=php_pdo_firebird.dll
;extension=php_pdo_informix.dll
;extension=php_pdo_mssql.dll
;extension=php_pdo_mysql.dll
;extension=php_pdo_oci.dll
;extension=php_pdo_oci8.dll
;extension=php_pdo_odbc.dll
;extension=php_pdo_pgsql.dll
;extension=php_pdo_sqlite.dll
ログイン後にコピー

これらの構成を設定した後、PHP または Web サーバーを再起動する必要があります。

次は、PDO を使用して MySql データベースに接続する例を見てみましょう:

<?php
$dbms=&#39;mysql&#39;;     //数据库类型
$host=&#39;localhost&#39;; //数据库主机名
$dbName=&#39;test&#39;;    //使用的数据库
$user=&#39;root&#39;;      //数据库连接用户名
$pass=&#39;&#39;;          //对应的密码
$dsn="$dbms:host=$host;dbname=$dbName";


try {
    $dbh = new PDO($dsn, $user, $pass); //初始化一个PDO对象
    echo "连接成功<br/>";
    /*你还可以进行一次搜索操作
    foreach ($dbh->query(&#39;SELECT * from FOO&#39;) as $row) {
        print_r($row); //你可以用 echo($GLOBAL); 来看到这些值
    }
    */
    $dbh = null;
} catch (PDOException $e) {
    die ("Error!: " . $e->getMessage() . "<br/>");
}
//默认这个不是长连接,如果需要数据库长连接,需要最后加一个参数:array(PDO::ATTR_PERSISTENT => true) 变成这样:
$db = new PDO($dsn, $user, $pass, array(PDO::ATTR_PERSISTENT => true));

?>
ログイン後にコピー

次に、PHP PDO の具体的な手順を見てみましょう:


暫定定数の定義

PHP PDO 接続接続管理

PHP PDO トランザクションと自動コミット

PHP PDO プリペアド ステートメントとストアド プロシージャ

PHP PDO エラーとエラー処理

PHP PDO ラージ オブジェクト (LOB)

PDO クラス:

PDO::beginTransaction — トランザクションを開始する

PDO::commit — トランザクションをコミットする


PDO::__construct — データベース接続を表す PDO インスタンスを作成する

PDO::errorCode — データベースを取得する操作に関連する SQLSTATE を処理します

PDO::errorInfo — 最後のデータベース操作のエラー メッセージを返します

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

PDO::getAttribute — データベースを取得します接続プロパティ

PDO::getAvailableDrivers — 使用可能なドライバーの配列を返します

PDO::inTransaction — トランザクション内かどうかを確認します

PDO::lastInsertId — 最後に挿入された行の ID またはシーケンス値を返します

PDO:: prepare — 実行する SQL ステートメントを準備し、PDOStatement オブジェクトを返します

PDO::query — SQL ステートメントを実行し、結果セットとして理解できる PDOStatement オブジェクトを返します

PDO::quote — に引用符を追加しますSQL ステートメント内の文字列。

PDO::rollBack — トランザクションをロールバックする

PDO::setAttribute — 属性を設定する

PDOStatement クラス:

PDOStatement::bindColumn — 列を PHP 変数にバインドする

PDOStatement::bindParam — パラメータをバインドする指定された変数名にバインドします。

PDOStatement::bindValue — 値をパラメータにバインドします。

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

PDOStatement::columnCount — 結果セット内の列の数を返します

PDOStatement::debugDumpParams — SQL 前処理コマンドを出力します

PDOStatement::errorCode — 最後のステートメント ハンドル操作に関連する SQLSTATE を取得します

PDOStatement:: errorInfo — 最後のステートメント ハンドル操作に関連する拡張エラー情報を取得します

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

PDOStatement::fetch — 結果セットから次の行を取得します

PDOStatement::fetchAll — を含むリストを返します結果セット内のすべての結果 行の配列

PDOStatement::fetchColumn — 結果セット内の次の行から 1 つの列を返します。

PDOStatement::fetchObject — 次の行を取得し、オブジェクトとして返します。

PDOStatement::getAttribute — ステートメント属性を取得します

PDOStatement::getColumnMeta — 結果セット内の列のメタデータを返します

PDOStatement::nextRowset — 複数行セットのステートメント ハンドルで次の行セットに進みます

PDOStatement: :rowCount — 前の SQL ステートメントの影響を受けた行数を返します

PDOStatement::setAttribute — ステートメント属性を設定します

PDOStatement::setFetchMode — ステートメントのデフォルトのフェッチ モードを設定します。


上記は [php チュートリアル] PHP PDO の内容です。その他の関連コンテンツについては、PHP 中国語 Web サイト (m.sbmmt.com) に注目してください。


関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート