環境
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; //

コメントを残す