PHPを介してMySQLデータベースでテーブルを作成する

PHPを介してMySQLデータベースでテーブルを作成してみます。

■環境

・Windows10

・Visual Studio Code 1.53.2

・レンタルサーバー「ヘテムル」

・FTPクライアント「FileZilla」

■レンタルサーバーでMySQLデータベースを作成する

PHPを介してMySQLデータベースへの接続を行ってみますが、その前にレンタルサーバーでMySQLデータベースを作成します。今回はレンタルサーバー「ヘテムル」を使用します。

「ヘテムル」のコントロールパネルのログイン(https://admin.heteml.jp/)画面で、「ヘテムルID」と「パスワード」を入力し、「ログイン」ボタンをクリックします。

クリックすると、コントロールパネルの右側にメニューがありますので、「各種設定」から「データベース」をクリックします。

クリックすると、「データベース」の管理パネルが表示されますので、「データベース作成画面へ」というボタンをクリックします。

クリックすると、「データベース作成画面」が表示されます。こちらの画面で「データベース名」と「接続パスワード」を入力します。入力後、「メモ」欄がありますので、データベースに関することのメモを入力する場合は行います。その後、「データベースを作成する」ボタンをクリックします。

クリックすると、「admin.heteml.jpの内容」というポップアップが表示されます。「データベースを作成します。よろしいですか?」というメッセージが書かれていますので、「OK」ボタンをクリックします。

クリックすると、「データベース[データベース名]の作成が完了しました」と表示されます。これでデータベースの作成は完了となります。完了後、「戻る」ボタンをクリックします。

クリックすると、「データベース」の管理パネルが表示されますので、作成したデータベースが表示されていますので、この表示されているところでサーバー名「mysql○○○.phy.heteml.lan」といった記載がありますので、こちらの情報をコピーして保存します。

■PHPを介してMySQLでテーブルを作成する

データベースの作成が完了しましたので、PHPを介してMySQLでテーブルを作成します。まずは、Visual Studio Codeなどのコードエディターを開き、PHPのコードを書いていきます。

■コード

<?php 
$servername = "ホスト(サーバー)名";
$username = "サーバーのユーザー名";
$password = "サーバーのパスワード";
$dbname = "_test_1a(作成したデータベース名)";

//接続を作成する
$conn = new mysqli($servername,$username,$password,$dbname);
//接続を確認する
if($conn -> connect_error){
    die("接続に失敗しました: ".$conn->connect_error);
}

//MySQLテーブルを作成する
$sql = "CREATE TABLE test_table(
id INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY,
firstname VARCHAR(30) NOT NULL,
lastname VARCHAR(30) NOT NULL,
email VARCHAR(50),
reg_date TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
)";

//MySQLに接続しテーブルの作成が真だった場合

if ($conn->query($sql) === TRUE){
    echo "テーブル「test_table」が正常に作成されました";
} else {
    echo "テーブルの作成中にエラーが発生しました: " . $conn -> error;
}

//接続を閉じる

$conn->close();

MySQLでテーブルを作成する際は、今回はsqlという変数を定義し、その中にCREATE TABLE文を使用し、「CREATE TABLE test_table()」と記述します。「test_table」というのが今回のテーブルの名前です。

作成したテーブルの中に「id」、「firstname」、「lastname」、「email」、「reg_date」という5つの列を、今回は作ります。

「id」の列では、INT(6)と記述し、整数型を6桁の数値として表示し、UNSIGNED(符号なし)と記述することで、範囲を0から始まる「0 ~ 255」(正の数のみ)までにすることができます。さらに、AUTO_INCREMENTと追加し、レコードが追加されたとき、整数を自動的に付与されるようにします。最後にPRIMARY KEYと追加することで、主キー制約となります。

次に「firstname」、「lastname」、「email」の列では、VARCHARと記述し、可変長の文字列の追加します。括弧内では0 から 65,535 までの値で指定できますが、今回は「firstname」と「lastname」は「30」、「email」は「50」と指定しています。最後にNOT NULLと記述し、NULL(何も入っていない状態)を格納できなくなる。

最後に「reg_date」の列では、「TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP」と記述することで、タイムスタンプ(TIMESTAMP)が押され、新規追加、更新のどちらでも日時が更新されるようになります。

■実行・検証

このphpを「index.php」で保存します。保存後、FTPクライアントを使用し、ヘテムルレンタルサーバーのサーバー上に「index.php」をアップロードし、表示させてみます。

表示させてみると、MySQLに接続しテーブルの作成が成功した時に表示される文字列が出力されました。

出力された後にphpmyadminへのログインを行い、データベースにテーブルが作成されたのかを確認すると、今回の指定した構造でテーブルが作成されていることが確認できました。

コメント

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