UI設計したり、ウェブシステムを開発したりします。 

SQL見るだけクエリ#200 DB接続する為のクラスを作成 SQL Server版

記入日:2023-07-28 編集日:2023-07-28

DB接続する為のクラスを作成 SQL Server版について解説してみようと思います。

この記事を読むと(約5分)
DB接続する為のクラスを作成 SQL Server版についてイメージできます。

DB接続する為のクラスを作成 SQL Server版

1. config.php ファイル:

// 接続情報を定義
define('DB_HOST', 'your_database_host');
define('DB_USERNAME', 'your_database_username');
define('DB_PASSWORD', 'your_database_password');
define('DB_DATABASE', 'your_database_name');
define('DB_CHARSET', 'utf8mb4');

2. Database クラス:

require_once 'config.php';

class Database
{
  private $host;
  private $username;
  private $password;
  private $database;
  private $charset;

  private $pdo;

  public function __construct()
  {
    $this->host = DB_HOST;
    $this->username = DB_USERNAME;
    $this->password = DB_PASSWORD;
    $this->database = DB_DATABASE;
    $this->charset = DB_CHARSET;

    $this->connect();
  }

  private function connect()
  {
    $dsn = "sqlsrv:Server={$this->host};Database={$this->database}";

    try {
      $this->pdo = new PDO($dsn, $this->username, $this->password);
      $this->pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
      $this->pdo->setAttribute(PDO::SQLSRV_ATTR_ENCODING, PDO::SQLSRV_ENCODING_UTF8);
    } catch (PDOException $e) {
      die("Database connection failed: " . $e->getMessage());
    }
  }

  public function getPdo()
  {
      return $this->pdo;
  }
}

上記の例では、SQL Server版の接続に必要なDSN(データソース名)が変更されています。また、PDOのオプションとしてPDO::SQLSRV_ATTR_ENCODINGを設定しています。これは、データをUTF-8でエンコードするために必要なものです。

実際に使う際には、これらのコードが記述されたファイルを適切な場所に配置してください。 そして、Database クラスのインスタンスを作成し、PDO接続を取得することができます。

// Databaseクラスのインスタンスを作成し、PDO接続を取得します
$database = new Database();
$pdo = $database->getPdo();

// これ以降、$pdoを使用してクエリを実行できます
// 例:$pdo->query("SELECT * FROM table_name");

SQL Serverの接続情報をconfig.phpファイルで定義し、そのファイルを使用して接続情報を取得します。

注意: SQL Server用の接続には、sqlsrv PHP拡張モジュールがインストールされている必要があります。また、接続に使用されるDSN(データソース名)は、SQL Serverの環境に応じて適切に設定してください。

SQLの使いどころ

サイトに大量の情報を掲載することは、ユーザーにとってとても便利なことです。しかし、情報が多すぎると、目的の情報を見つけるのが困難になります。そのため、SQLを使用することで、情報を効率的に管理することができます。

SQLを使用することで、データベース内の情報を検索したり、フィルタリングしたりすることができます。これにより、ユーザーは目的の情報をスムーズかつ簡単に見つけることができます。

また、SQLを使用することで、データを集計したり、統合したりすることもできます。これにより、ユーザーはさまざまな視点から情報を分析することができます。つまり、サイトに多くの情報を掲載することが重要である一方で、その情報を効率的かつ簡単に管理することが求められる場合には、SQLが不可欠であるといえます。

KK

機械工学を専攻。工業デザイナーとして、国内及び海外の自動車・搬送ラインの設計などに従事した後、2003年にウェブシステム会社を設立。UI設計やウェブシステムの開発、DX化のディレクションなどを行っています。