PHPでデータベース(MariaDB)へアクセス操作

PHPのデータベース操作を実施します。

データベースはMariaDBを使用します。

フレームワークは私用せずにPDOでMariaDBへアクセスしてデータ操作しましょう。

準備

MarianDB操作

データベース作成

データベースアクセスで使用するpdoをインストール。

sudo dnf -y install php-pdo
sudo dnf install php-mysqlnd

phpを再起動します。

systemctl restart php-fpm
sqlモニタ

sqlモニタ起動

mysql -u root -p

起動したら以下のコマンドでデータベースを確認。

show databases;

結果
//+--------------------+
//| Database           |
//+--------------------+
//| information_schema |
//| mysql              |
//| performance_schema |
//+--------------------+

データベース”list”を作成

create database list;

“show databases;”で確認
//+--------------------+
//| Database           |
//+--------------------+
//| information_schema |
//| list               |
//| mysql              |
//| performance_schema |
//+--------------------+

データベース削除

データベース削除

データベースを削除するには以下のコマンドを実行する。

drop database list;

テーブル作成

CREATE TABLE

テーブル作成プログラム

<?php
    // コメント
    /* コメント */

    /* 出力 */
    $dbName = "list";
    $host = "localhost";
    $user = "root";
    $pass = "****";

    // DBへアクセス
    $db = new PDO('mysql:dbname='.$dbName.';host='.$host, $user, $pass);

    // エラー時の処理
    $db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

    try {
    // テーブル作成のSQLを作成
    $sql = 'CREATE TABLE name_list (
                no INT(11) AUTO_INCREMENT PRIMARY KEY,
                name VARCHAR(100),
                age INT(11)
                ) engine=innodb default charset=utf8';

    // SQL実行
    $res = $db->query($sql);
    } catch(PDOException $e) {
        pritn($e->getMessage());
        die();
    }

    // SQL 閉じる
    $db = null;

 ?>
 </body>
</html>
テーブル確認

show tables;

テーブル確認の結果
//+---------------- +
//| Tables_in_list |
//+----------------+
//| name_list      |
/+----------------+
テーブルカラム確認

show colums from customer;

テーブルカラム確認の結果
//+-------+--------------+------+-----+---------+----------------+
//| Field | Type         | Null | Key | Default | Extra          |
//+-------+--------------+------+-----+---------+----------------+
//| no    | int(11)      | NO   | PRI | NULL    | auto_increment |
//| name  | varchar(100) | YES  |     | NULL    |                |
//| age   | int(11)      | YES  |     | NULL    |                |
//+-------+--------------+------+-----+---------+----------------+
POD

PODを使用してDBへアクセスします。

setAttribute

エラー時にブラウザ上にエラーを出力します。

CREATE TABLE

テーブルを作成するSQL文です。

$db->query

SQL文を実行します。

try~catch

例外処理が発生した場合、キャッチされPDOExceptionへエラー内容が格納されます。

以上です。お疲れ様でした。

コメント

タイトルとURLをコピーしました