AmazonLinux2のMariaDBをPHPで操作する


ファイルの作成

AmazonLinux2にrootユーザーでログインします。

AmazonLinux2
login as: ec2-user

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

https://aws.amazon.com/amazon-linux-2/
[ec2-user ~]$ sudo -i
[root ~]#

ドキュメントルートに移動します。

AmazonLinux2
[root ~]# cd /var/www/html
[root html]#

フォルダを作成して、そこに移動します。

AmazonLinux2
[root html]# mkdir php
[root html]# cd php
[root php]#

phpファイルを作成します。

AmazonLinux2
[root php]# touch test.php

ファイルの編集

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

AmazonLinux2
[root php]# vim test.php

これが編集画面です。

AmazonLinux2
~
~
~
"test.php" [New File]                                         0,0-1         All

[A]キーを押してINSERTモードに移行します。
このモード中だけファイルの中身を編集できます。

AmazonLinux2
~
~
~
-- INSERT --                                                  0,1           All

[ESC]キーでINSERTモードを終了します。

AmazonLinux2
~
~
~
"test.php" [New File]                                         0,0-1         All

[*][w][q]と入力して[Enter]で上書き保存します。

AmazonLinux2
~
~
~
:wq

編集画面:その他の操作方法

保存しないで終了

AmazonLinux2
:q

内容を全て削除

AmazonLinux2
:%d

SELECT文

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文

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文

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文

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();
        }
?>