AmazonLinux2のMariaDBをPHPで操作する

#ファイルの作成
AmazonLinux2にrootユーザーでログインします。

```AmazonLinux2:AmazonLinux2
login as: ec2-user

       __|  __|_  )
       _|  (     /   Amazon Linux 2 AMI
      ___|\___|___|

https://aws.amazon.com/amazon-linux-2/
[ec2-user ~]$ sudo -i
[root ~]#
```
ドキュメントルートに移動します。

```AmazonLinux2:AmazonLinux2
[root ~]# cd /var/www/html
[root html]#
```
フォルダを作成して、そこに移動します。

```AmazonLinux2:AmazonLinux2
[root html]# mkdir php
[root html]# cd php
[root php]#
```
phpファイルを作成します。

```AmazonLinux2:AmazonLinux2
[root php]# touch test.php
```
#ファイルの編集

phpファイルを編集します。

```AmazonLinux2:AmazonLinux2
[root php]# vim test.php
```
これが編集画面です。

```AmazonLinux2:AmazonLinux2
~
~
~
"test.php" [New File]                                         0,0-1         All
```
[A]キーを押してINSERTモードに移行します。
このモード中だけファイルの中身を編集できます。

```AmazonLinux2:AmazonLinux2
~
~
~
-- INSERT --                                                  0,1           All
```
[ESC]キーでINSERTモードを終了します。

```AmazonLinux2:AmazonLinux2
~
~
~
"test.php" [New File]                                         0,0-1         All
```
[*][w][q]と入力して[Enter]で上書き保存します。

```AmazonLinux2:AmazonLinux2
~
~
~
:wq
```

#編集画面：その他の操作方法
保存しないで終了

```AmazonLinux2:AmazonLinux2
:q
```
内容を全て削除

```AmazonLinux2:AmazonLinux2
:%d
```

#SELECT文

```PHP:Select.php
<?php
        //データベース情報
        $user = 'root';
        $pass = '';
        $dsn = 'mysql:dbname=test; host=127.0.0.1; port=3306; charset=utf8';
        //URLからパラメータを取得
        $id = $_GET["id"];

        try {
                //データベースに接続
                $pdo = new PDO($dsn, $user, $pass);
                //SQL文を用意
                $sql = "SELECT * FROM table1 WHERE id = ?";
                //SQL文をpStmtクラス変数に入れる
                $pStmt = $pdo->prepare($sql);
                //SQLを実行
                $pStmt->execute(array($id));
                //戻り値を取りだす
                foreach( $pStmt as $value )
                {
                        echo $value[id];
                        echo $value[name];
                }
        } catch(PDOException $e) {
                echo $e->getMessage();
                die();
        }
?>
```

#UPDATE文
```PHP:Update.php
<?php
        //データベース情報
        $user = 'root';
        $pass = '';
        $dsn = 'mysql:dbname=test; host=127.0.0.1; port=3306; charset=utf8';
        //URLからパラメータを取得
        $id = $_GET["id"];
        $name = $_GET["name"];

        try {
                //データベースに接続
                $pdo = new PDO($dsn, $user, $pass);
                //SQL文を用意
                $sql = "UPDATE table1 SET name = ? WHERE id = ?";
                //SQL文をpStmtクラス変数に入れる
                $pStmt = $pdo->prepare($sql);
                //SQLを実行
                $pStmt->execute(array($name,$id));
        } catch(PDOException $e) {
                echo $e->getMessage();
                die();
        }
?>
```

#INSERT文
```PHP:Insert.php
<?php
        //データベース情報
        $user = 'root';
        $pass = '';
        $dsn = 'mysql:dbname=test; host=127.0.0.1; port=3306; charset=utf8';
        //URLからパラメータを取得
        $id = $_GET["id"];
        $name = $_GET["name"];

        try {
                //データベースに接続
                $pdo = new PDO($dsn, $user, $pass);
                //SQL文を用意
                $sql = "INSERT INTO table1 (id, name) VALUES (?,?)";
                //SQL文をpStmtクラス変数に入れる
                $pStmt = $pdo->prepare($sql);
                //SQLを実行
                $pStmt->execute(array($id,$name));
        } catch(PDOException $e) {
                echo $e->getMessage();
                die();
        }
?>
```

#DELETE文
```PHP:Delete.php
<?php
        //データベース情報
        $user = 'root';
        $pass = '';
        $dsn = 'mysql:dbname=test; host=127.0.0.1; port=3306; charset=utf8';
        //URLからパラメータを取得
        $id = $_GET["id"];

        try {
                //データベースに接続
                $pdo = new PDO($dsn, $user, $pass);
                //SQL文を用意
                $sql = "DELETE FROM table1 WHERE id = ?";
                //SQL文をpStmtクラス変数に入れる
                $pStmt = $pdo->prepare($sql);
                //SQLを実行
                $pStmt->execute(array($id));
        } catch(PDOException $e) {
                echo $e->getMessage();
                die();
        }
?>
```