phpでmysql通信

環境

PHP7.2.17
MySQL5.7

参考サイト

swiftからmysqlにデータを登録してみる
他多数

はじめに

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

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です