環境
PHP7.2.17
MySQL5.7
参考サイト
はじめに
php初心者の記録です、間違えていることもあります。
目的としてはjsonとしてデータを取得し・使用するためです。
参考サイト様ではmysqlへの通信方法としてmysqliを使用していますが、今回は参考できるサイトが多いPDOを使用しています。
フォルダ構成などは参考サイト様と同形式を採用しております。
3種類のファイルで設定します
config.php→DB接続に関するファイル
DBConnect.php.php→config.phpから受け取った情報でmysqlに接続する
DbOparation.php→上記2つのファイルを元にクエリ実行する
ソース
config.php
<?php define('DB_USERNAME', 'DB接続ログインユーザー'); define('DB_PASSWORD', 'DB接続パスワード'); define('DB_HOST', 'サーバー名・IPなど'); define('DB_NAME', '接続したいDB名'); ?>
DBConnect.php
<?php class DbConnect { private $conn; function __construct(){ } /* *データベースへの接続 */ function connect(){ require_once 'config.php'; //Mysql DataBaseに接続 $this -> conn = new PDO("mysql:host=".DB_HOST.";dbname=".DB_NAME.";charset=utf8", DB_USERNAME, DB_PASSWORD, [ PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION, PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC, ] ); //接続リソースの保持 return $this -> conn; } }
DbOparation.php
<?php /* *DBに対する指示ファイル */ class DbOparation { private $conn; //コンストラクター function __construct(){ require_once dirname(__FILE__).'/config.php'; require_once dirname(__FILE__).'/DBConnect.php'; //DBに接続 $db = new DbConnect(); $this -> conn = $db->connect(); } public function SelectSQL($query){//引数は自由に $result = $this->conn->prepare("実行したいクエリ"); //クエリのセット $result->execute(); //セットしたクエリを実行 if ($result){ return $result; //実行結果を返す }else{ throw new Exception("Database Error [{$mysqli->errno}] {$mysqli->error}");//エラーの場合その先の処理をさせない } } }
DbOparation.phpを他のファイルから呼び出し
<?php header('Content-Type: application/json; charset=utf-8'); //データベースに接続する情報の指定 //DBファイルの操作 $query = $_GET['query'];//クエリストリングなどから情報読み取り $rows = array(); require_once (dirname(__FILE__).'/includes/DbOparation.php');//設定ファイルを3種下層ディレクトリへ $db = new DbOparation(); $stmt = $db -> SelectSQL($Values,$date); //DbOparation.phpよりメソッド読み出し echo "変更しました";//実行結果をサイトで確認する $dbh = null; //
コメントを残す