PHPからデータベースのテーブルを作成

PHPファイルからテーブルを作成できるように準備

mysqli()関数をつかう

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
<?php

function dbConnect()
{
$link = mysqli_connect('db', 'book_log', 'pass', 'book_log');
if (!$link) {
echo 'Error: データベーに接続できません' . PHP_EOL;
echo 'Debugging error: ' . mysqli_connect_error() . PHP_EOL;
exit;
}
return $link;
}

function dropTable($link)
{
$dropTableSql = 'DROP TABLE IF EXISTS companies;';
$result = mysqli_query($link, $dropTableSql);
if ($result) {
echo 'テーブルを削除しました' . PHP_EOL;
} else {
echo 'Error: テーブルの削除に失敗しました' . PHP_EOL;
echo 'Debugging Error: ' . mysqli_error($link) . PHP_EOL;
}
}

function createTable($link)
{
$createTableSql = <<<EOT
CREATE TABLE companies (
id INTEGER AUTO_INCREMENT NOT NULL PRIMARY KEY,
name VARCHAR(255),
establishment_date DATE,
founder VARCHAR(255),
created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP
) DEFAULT CHARACTER SET=utf8mb4;
EOT;
$result = mysqli_query($link, $createTableSql);
if ($result) {
echo 'テーブルを作成しました' . PHP_EOL;
} else {
echo 'Error: テーブルの作成に失敗しました' . PHP_EOL;
echo 'Debugging Error: ' . mysqli_error($link) . PHP_EOL;
}
}

$link = dbConnect();
dropTable($link);
createTable($link);
mysqli_close($link);