大学生のモノづくり記録

Webページ作成(主にHTML、CSS、PHP、jQuery)、ArduinoやRaspberry Piを使って物作りの勉強した記録を載せたり/趣味のことを書いていきたいなと思います。(クオリティはかなり低いです)

ポートフォリオサイトを作りなおしてみた 第2回~DBの挑戦~

 今回は、前回のポートフォリオサイトを作りなおしてみたの続きの第2回目です。

 今回は、主にphpを使用したデータベースの接続をメインに行っていこうと思います。最終的には、お知らせコーナー的なやつを作成

 

 まず今回使うデータベース等の作業で使用するアプリケーションは、XAMPPさんを使用させていただきます。

XAMPPとは、完全無償で、PHP、データベース(略してDB)をインストールでき公式サイトには、最も人気のあるPHP開発環境です。

公式HP https://www.apachefriends.org/jp/index.html

 

 また、DB(Darabase)は、情報の検索、貯蓄等が容易に使用できるように整備された情報の集まりであります。

 DBが使用されている例としては、

  ・顧客の情報をまとめる

  ・検索エンジン 

  ・ログインなどのユーザー情報の管理

などに使われています。

 

また、今回は、DBの中でもMySqlを使用していきます。

MySQLとは、多くのデータを高速に動作が出来、世界中の中でかなりの使用支持率の高いデータベース管理システムです

 

1、MySQLの設定

まず最初にXAMPPを起動しApacheMySQLを起動します起動すると以下のようになります。

f:id:kyozinnlove55:20200507022617p:plain

その後MySQLのAdminをクリックします。

すると、

f:id:kyozinnlove55:20200507022854p:plain

のような画面が表示されます。

そしたら、左側にあるNEWをクリックします。

データベースを作成するが出たら以下のように設定していきました。

f:id:kyozinnlove55:20200507023043p:plain

utf8_general_ci とは、アルファベットの大小の区別はしないモードです。

 

データベースが作成出来たら次は、テーブルの作成です。今回は、自分のデータを管理するので、userのテーブルを作成しカラム数(行列で表現さてる列の事)は、4にしました。

 

カラムの中身は、以下通りです。

  名前 データ型 長さ その他        
カラム1 id INT   インデックスえおPRIMARY A_Iにチェックを入れる        
カラム2 name VARCHAR            
カラム3 what TEXT            
カラム4 date DATETIME            

 

 実際に作成すると

f:id:kyozinnlove55:20200507024122p:plain

のようになります。

 

これでデータベースの作成は、完成です。

 

2、DBとの接続

 次に作成したDBを接続する作業に移ります。 

最初にソースプログラムを表示します。

<?php
    $dsn = 'mysql:dbname=sample3;host=localhost;charset=utf8';//データベースの情報を設定
    $user = 'root';//ユーザー選択
    $password = '';//パスワード

    try{
      $dbh = new PDO($dsn$user$password);
      $dbh->setAttribute(PDO::ATTR_ERRMODEPDO::ERRMODE_EXCEPTION);
      echo '接続に成功しています';
  }catch (PDOException $e){
      print('Connection failed:'.$e->getMessage());
      die();
  }
  ?>

 

 $dsn = 'mysql:dbname=sample3;host=localhost;charset=utf8';//データベースの情報を設定
    $user = 'root';//ユーザー選択
    $password = '';//パスワード
 

 最初の部分では、$dsnの所では、作成したDBについての情報についての設定、$userは、使用するユーザーについてです。(roorは、データベースの総合的な管理者を表しています。)

$passwordは、パスワードです。

 

try{
      $dbh = new PDO($dsn$user$password);
      $dbh->setAttribute(PDO::ATTR_ERRMODEPDO::ERRMODE_EXCEPTION);
      echo '接続に成功しています';
  }catch (PDOException $e){
      print('Connection failed:'.$e->getMessage());
      die();
  }
  ?>

以下のプログラムでは、まずtryの所では、DBの接続を行っています。$dbhは、データベースの接続,

setAttribute(PDO::ATTR_ERRMODEPDO::ERRMODE_EXCEPTION);

の所では、エラーを何処まで報告するのかを設定しています。

接続に成功したらそのままechoで表示されますが、失敗するとcatchのところでエラー文が表示されます。

成功すると以下のように表示されます。

f:id:kyozinnlove55:20200507025023p:plain

報告遅れましたが、情報更新を行う内容で行っていこうと思っていて今は、FORMで情報を送るようなシステムで構築していっていま。

FORMの所のソースプログラム

 <form action="main.php" method="post">
      <div>
        <label for="name">氏名</label>
        <input type="text" id="name" name="name"> 
      </div>
      <div>
        <label for="message">内容</label>
        <input type="text" id="message" name="message">
      </div>
       <input type="submit" name="send" value="送信する">
  </form>
  <h1>情報更新</h1>
  <?php
    $name="";
    $message="";
    $date=date("Y/m/d H:i:s");

    $name=$_POST['name'];
    $message=$_POST['message'];

    var_dump($name);
    var_dump($message);
  ?>

 

今回は、DBの接続まで行っていきました。

次回は、データの追加をやっていこうと思います。