PHPのデータベース操作を実施します。
データベースはMariaDBを使用します。
フレームワークは私用せずにPDOでMariaDBへアクセスしてデータ操作しましょう。
準備
無料でプログラム環境を作る!
PHPをlinux環境へインストール
PHPを無料で学習しよう!
MarianDBのインストール
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へエラー内容が格納されます。
以上です。お疲れ様でした。