OceanBase logo

OceanBase

トランザクション処理、分析、AIワークロードに最適な分散データベース

プロダクト概要
デプロイを自由に

OceanBase Cloud

OceanBaseの導入とスケーリングを最適化

エンタープライズ版

自社インフラ上での運用・管理に対応

オープンソース版を試す

コミュニティ版

開発者向けオープンソース分散データベース

OceanBase seekdb

AIネイティブなオープンソースの検索データベース

顧客事例

さまざまな業界の企業による導入事例を紹介します。

さらに見る
利用シーン別

あらゆるシナリオに対応するOLTP

ハイブリッドクラウドソリューション

大容量ストレージデータベースのコスト削減

リアルタイム分析混合ワークロード

複数インスタンスの統合

ドキュメント

会社概要

OceanBaseの企業情報、パートナーシップ、そして信頼性・セキュリティへの取り組みについて紹介します。

OceanBaseについて

トラストセンター

法的情報

お問い合わせ

日本 - 日本語
International - English
中国站 - 简体中文
クラウドで始める

OceanBase

トランザクション処理、分析、AIワークロードに最適な分散データベース

プロダクト概要
デプロイを自由に

OceanBase Cloud

OceanBaseの導入とスケーリングを最適化

エンタープライズ版

自社インフラ上での運用・管理に対応

オープンソース版を試す

コミュニティ版

開発者向けオープンソース分散データベース

OceanBase seekdb

AIネイティブなオープンソースの検索データベース

顧客事例

さまざまな業界の企業による導入事例を紹介します。

さらに見る
利用シーン別

あらゆるシナリオに対応するOLTP

ハイブリッドクラウドソリューション

大容量ストレージデータベースのコスト削減

リアルタイム分析混合ワークロード

複数インスタンスの統合

OceanBaseの企業情報、パートナーシップ、そして信頼性・セキュリティへの取り組みについて紹介します。

OceanBaseについて

トラストセンター

法的情報

お問い合わせ

クラウドで始める
编组
すべての製品
    • データベース
    • アイコンOceanBaseデータベース
    • アイコンOceanBase Cloud
アイコン

OceanBaseデータベース

SQL - V4.4.2

    OceanBase ロゴ

    AI時代を支える分散データベース

    日本 - 日本語
    International - English
    中国站 - 简体中文
    プロダクト
    OceanBase Cloudエンタープライズ版コミュニティ版OceanBase seekdb
    会社概要
    OceanBaseについてトラストセンター法的情報お問い合わせ
    公式アカウント
    ConnpassXQiitaLumaGitHub

    © OceanBase 2026. All rights reserved

    クラウドサービス契約個人情報保護ポリシーセキュリティ
    お問い合わせ
    ドキュメントフィードバック
    1. ホーム
    2. OceanBaseデータベース
    3. SQL
    4. V4.4.2
    アイコンOceanBaseデータベース
    SQL - V 4.4.2
    データベース
    • OceanBaseデータベース
    • OceanBase Cloud
    SQL
    KV
    • V 4.4.2
    • V 4.3.5

    PDOドライバーを使用してOceanBaseデータベースに接続する

    最終更新日:2026-06-15 02:31:32  更新
    シェア
    このページの内容
    適用バージョン
    前提条件
    手順
    ステップ1:PHPとphp-mysql環境を確認し、インストールする
    ステップ2:podtest.phpファイル内のデータベース接続情報を修正する
    ステップ3:podtest.phpファイルを実行して検証する

    折りたたみ

    シェア

    本記事では、PDOドライバーを使用してOceanBaseデータベースに接続し、テーブルの作成やデータの挿入などの基本的な操作を実行する方法について説明します。 PDOは、PHP Data Objectsの略であり、PHPアプリケーションにおいて軽量で一貫性のあるデータアクセス抽象化レイヤーを提供するインターフェースです。

    適用バージョン

    OceanBaseデータベースのすべてのバージョン。

    前提条件

    • PHPとphp-mysqlがインストール済みであること。
    • OceanBaseデータベースをインストール済みで、MySQLテナントが作成されていること。

    手順

    1. phpとphp-mysql環境を確認し、インストールします。
    2. podtest.php のサンプルファイルを新規作成し、データベース接続情報を設定します。
    3. podtest.php ファイルを実行して検証します。

    ステップ1:PHPとphp-mysql環境を確認し、インストールする

    PHPとphp-mysql環境をインストールします。具体的な操作については、ExtドライバーでOceanBaseデータベースに接続するのステップ1:PHPとphp-mysql環境を確認し、インストールするを参照してください。

    ステップ2:podtest.phpファイル内のデータベース接続情報を修正する

    Linux環境を例にすると、vi podtest.phpまたはvim podtest.phpコマンドを使用してpodtest.phpファイルを編集し、ファイル内のデータベース接続情報を実際の状況に合わせて修正します。

    [root]# vim podtest.php
    <?php
    $servername = "172.30.xx.xxx";
    $port = "2881";
    $username = "root@mysql";
    $password = "xxxxxxx";
    $dbname = "test";
    
    // 接続の作成
    try {
        $conn = new PDO("mysql:host=$servername;port=$port;dbname=$dbname", $username, $password);
        // PDOエラーモードを例外に設定
        $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
        echo "接続成功";
    } catch(PDOException $e) {
        echo "接続失敗: " . $e->getMessage();
    }
    ?>
    

    ここで:

    • $servername はMySQLサーバーのアドレスを指します。
    • $port はMySQLサーバーのポート番号を指します。
    • $username はMySQLユーザー名を指します。
    • $password はMySQL接続用のパスワードを指します。
    • $dbname は接続するデータベースの名前を指します。

    ステップ3:podtest.phpファイルを実行して検証する

    podtest.php ファイルに意図的に誤ったデータベース名を入力し、php podtest.php コマンドを実行すると、次のようなエラーメッセージが返されます:

    [root]# php podtest.php
    接続失敗: SQLSTATE[42000] [1049] Unknown database 'test123'
    

    正しい情報を入力すると、接続成功のメッセージが表示されます:

    [root]# php podtest.php
    接続成功
    

    テーブル作成および追加・削除・更新・クエリ操作のテスト例は以下のとおりです:

    [root]# vim podtest.php
    <?php
    $servername = "172.30.xxx.xxx"; // MySQLサーバーアドレス
    $port = "2881"; // MySQLサーバーのポート番号
    $username = "root@mysql"; // MySQLユーザー名
    $password = ""; // MySQLパスワード
    $dbname = "test"; // 接続するデータベース名
    
    // 接続の作成
    try {
        $conn = new PDO("mysql:host=$servername;port=$port;dbname=$dbname", $username, $password);
        // PDOのエラーモードを例外に設定
        $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
        echo "接続成功";
    } catch(PDOException $e) {
        echo "接続失敗: " . $e->getMessage();
    }
    
    // テーブルの作成
    try {
        $sql = "CREATE TABLE myguests (
        id INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY,
        firstname VARCHAR(30) NOT NULL,
        lastname VARCHAR(30) NOT NULL,
        email VARCHAR(50),
        reg_date TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
        )";
        $conn->exec($sql);
        echo "テーブルmyguestsの作成に成功しました";
    } catch(PDOException $e) {
        echo "テーブルの作成に失敗しました: " . $e->getMessage();
    }
    
    // データの挿入
    try {
        $sql = "INSERT INTO myguests (firstname, lastname, email)
        VALUES ('John', 'Doe', 'john@example.com')";
        $conn->exec($sql);
        echo "新規レコードの挿入に成功しました";
    } catch(PDOException $e) {
        echo "データの挿入に失敗しました: " . $e->getMessage();
    }
    
    // テーブルのクエリ
    try{
        $sql = "SELECT id, firstname, lastname FROM myguests";
        $stmt = $conn->prepare($sql);
        $stmt->execute();
        $result = $stmt->setFetchMode(PDO::FETCH_ASSOC);
        if ($stmt->rowCount() > 0) {
            // データの出力
            while($row = $stmt->fetch()) {
                echo "id: " . $row["id"]. " - Name: " . $row["firstname"]. " " . $row["lastname"]. "<br>";
            }
        } else {
            echo "結果は0件です";
        }
    } catch(PDOException $e) {
        echo "テーブルのクエリに失敗しました: " . $e->getMessage();
    }
    
    // テーブルの削除
    try {
        $sql = "DROP TABLE myguests";
        $conn->exec($sql);
        echo "テーブルmyguestsの削除に成功しました";
    } catch(PDOException $e) {
        echo "テーブルの削除に失敗しました: " . $e->getMessage();
    }
    
    // 接続を閉じる
    $conn = null;
    ?>
    

    実行が成功すると、次のような例が返されます:

    [root]# php podtest.php
    接続成功テーブルmyguestsの作成に成功しました新規レコードの挿入に成功しましたid: 1 - Name: John Doe<br>テーブルmyguestsの削除に成功しました
    

    前のトピック

    MySQLiドライバーを使用してOceanBaseデータベースに接続する
    最後

    次のトピック

    RustによるOceanBaseデータベース接続サンプルプログラム
    次
    このページの内容
    適用バージョン
    前提条件
    手順
    ステップ1:PHPとphp-mysql環境を確認し、インストールする
    ステップ2:podtest.phpファイル内のデータベース接続情報を修正する
    ステップ3:podtest.phpファイルを実行して検証する