記入日:2023-07-28 編集日:2023-07-28
DB接続する為のクラスを作成 SQL Server版について解説してみようと思います。
この記事を読むと(約5分)
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化のディレクションなどを行っています。