エックスサーバーでデータベース設定をする方法
目次
エックスサーバーでデータベース設定をする方法を解説します。
データベース設定を行なった後にデータを入れて、それをWEBページで確認するところまでスクショ満載で解説します。
この記事でやること
- MySQL設定でデータベースを追加
- MySQLのユーザー設定
- データベースにデータを入力
- WEBページで確認
MySQL設定でデータベースを追加
まずはエックスサーバーの会員ページにログインをします。
サーバーパネル(メニュー)の中にMySQL設定というメニューがあるので、それをクリックします。
その中にデータベースを追加というボタンがあるのでそれをクリックします。
MySQLデータベース名を入力します。
半角16文字以内となっているので、ひらがなや漢字は使えず、英数字で入力します。
今回私はdemoと入れますが、もちろんお好きな名前で入れることができます。
入力したら追加するを押します。
MySQLのユーザー設定
データベースを追加したら、そのデータベースを管理するユーザー設定をします。
下記のスクショのユーザー設定ボタンをクリックします。
最初はユーザーが登録されていないので、新たにユーザーを追加します。
ユーザーを追加ボタンがあるのでそれを押します。
ユーザーを追加の画面で新しくMySQLユーザーを作成を選択し、MySQLユーザーIDを入力します。
MySQLユーザーIDは半角5文字以内で設定するので、割と短めの名称にする必要あります。
パスワードは半角8文字以上、16文字以内で入力する必要があります。
パスワード入力欄の右隣に目のマークがあるのでそれをクリックするとパスワードが見える状態になるので確認しながら入れることができます。
今回はMySQLユーザーIDをuserとして、パスワードをpassword_20260610としています。
もちろんこれはそれぞれ任意に入力いただいて大丈夫です。
入力したら追加するを押します。
これでデータベース設定とユーザー設定が完了しました。
phpmyadminを使ってデータ入力
データベースの設定ができたので、次はデータベースに情報を入れてそれをWEBページで表示する、というのをやってみましょう。
メニューの中にphpmyadminというのがあるので、それをクリックしてください。
phpmyadminをクリックすると、下記のスクショのようにユーザー名とパスワードを求められます。
これはエックスサーバーの会員ログイン情報ではなくて、先ほど登録したデータベースのユーザーIDとパスワードを入力します。
先ほど登録したのは下記のスクショのような情報でしたね。
ここで登録したMySQLユーザーIDとパスワードをphpmyadminのログイン画面で入力します。
私はこのログインがなかなかうまくいかなかったのですが、実はパスワードをpasswrd_20260610としていたらしく、、(passwrd、、)
自分ではpasswordと打ったつもりだったのですが、、
なのでなかなかログインできずに時間使ってしまいました。。^^;
しょうがないのでこのままpasswrdで突き進みました。
(パスワードの打ち間違えにはお気をつけください。。)
テーブルの作成
phpmyadminにログインできると、下記のスクショのような画面がでます。
最初は何の情報も入っていないです。
まずはテーブルを作ってみましょう。
今回は、foodというテーブルを作って、そこに食べ物の名前や金額を入れて、それをWEBページで表示させたいと思います。
新しいテーブルを作成のところに、テーブル名をfood、カラム数を4と入れて作成をします。
(テーブル名やカラム数はお好きなもので作ることができます)
カラムの設定
下記のスクショのようにカラムの設定画面が出ます。
カラムとは、データベースの「項目」のようなもので、どんな情報を入れていくのか設定していきます。
データベースの項目はカラムと呼んでいる、くらいの認識で問題ないです。
名前にid、name、yen、memoを入れます。
idとyenのタイプはINTにします。
INTは数値のことで、idやyenには数字を入れるのでINTにしています。
nameとmemoのタイプはVARCHARにします。
VARCHARは文字列を入れるときに使います。
TEXTも文字列を扱いますが、文字数がある程度決まっている項目はVARCHARの方が適切です。
INT:数値を入れるときに使う
VARCAHAR:文字列を入れる時に使う。ある程度長さが決まっている時。
TEXT:文字列を入れる時に使う。けっこう長い文字を入れる時。
最初は、数値はINT、文字はVARCHARかTEXTという認識でいいです。
(VARCHARとTEXTの違いを厳密には説明できなかったので、私は今回調べてみて初めてちゃんと知りました。。)
idの列のAIという項目にチェックを入れます。
データベースでのAIというのはAUTO_INCREMENTのことを指します。
(自動的に番号を振る、という意味です。)
これにチェックをつけると、この項目は連番を自動的に振ってくれます。
例えば最初にデータを入れると、idは1となり、次にデータを入れるとidは2となる具合です。
カラムの設定が良ければ保存するを押します。
データ入力
カラムの保存が完了すると、下記スクショのようにカラムの情報が確認できます。
テーブルとカラムの設定ができたので、今度はその入れ物に情報を入れてみましょう。
タブの中に挿入というタブがあるので、それをクリックしてください。
挿入画面で情報を入れていきましょう。
情報を入れたら画面下の実行を押します。
2行を挿入しました。と表示されました。
正しく情報を入れられました。
この表示の下にテーブル◯◯上でクエリを実行するという文章があって、その下にINSERT INTO〜という文章が出ているかと思いますが、
これを実行すると同じ情報をもう一度挿入することになるので、それは実行しなくて良いです。
同じ要領でまた情報を2つ入れて、タブの表示を押してみます。
すると、入れた情報を表示して見ることができます。
これでデータベースに必要な情報を入れることができました。
食べ物のテーブル(food)とその中身です。
WEBページで表示を確認
今度はこれをWEBページで表示させてみましょう。
エックスサーバーの会員ページからファイルマネージャを開いてください。
サーバー名.xsrv.jp → public_htmlへと進み(ダブルクリックすると進めます)、下記のスクショのようにdatabase.phpというファイルを作成します。
左上にある新規ファイルを選択し、database.phpというファイル名を入力します。
ファイル名の文字コードはUTF-8を選択します。
そして作成を押します。
database.phpのコードについて
database.phpファイルを作成したらそのファイルを編集します。
ファイル名を右クリックすると編集メニューが出るので、それを選択し、編集画面を開きます。
database.phpの中身は以下のコードにします。
<?php
// データベース接続設定(環境に合わせて変更してください)
$host = 'localhost';
$dbname = '*****_demo'; // ← 使用するデータベース名
$user = '*****_user'; // ← データベースのユーザー名
$password = 'passwrd_20260610'; // ← データベースのパスワード
try {
// PDOでデータベースに接続
$pdo = new PDO(
"mysql:host={$host};dbname={$dbname};charset=utf8mb4",
$user,
$password,
[
PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC,
]
);
// foodテーブルから全カラムを取得
$sql = 'SELECT * FROM food';
$stmt = $pdo->query($sql);
$foods = $stmt->fetchAll();
} catch (PDOException $e) {
exit('データベースエラー: ' . $e->getMessage());
}
?>
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8">
<title>food一覧</title>
<style>
table { border-collapse: collapse; }
th, td { border: 1px solid #ccc; padding: 8px 16px; }
th { background: #f0f0f0; }
</style>
</head>
<body>
<h1>food一覧</h1>
<table>
<tr>
<th>ID</th>
<th>名前</th>
<th>値段</th>
<th>メモ</th>
</tr>
<?php foreach ($foods as $food): ?>
<tr>
<td><?php echo $food['id']; ?></td>
<td><?php echo $food['name']; ?></td>
<td><?php echo $food['yen']; ?>円</td>
<td><?php echo $food['memo']; ?></td>
</tr>
<?php endforeach; ?>
</table>
</body>
</html>
phpというプログラミング言語で書かれています。
最初はこれを全部理解する必要はありません。
やっていくうちになんとなく理解できることが増えていくので、気にしなくて大丈夫です。
私はプログラミングを習いたての頃は、先輩からよく「おまじない」と聞かされていました。
コードの詳細はよく分からなくても、おまじないのように動くからです。
丸ごとコピペして、データベースの設定だけご自身のデータベース・ユーザー情報に変えれば動きます。
記述されている内容の解説は以下の通りです。
1.データベース接続設定
データベースの情報を設定しています。ご自身のデータベース情報を''の間に入れます。
入力するときは半角の英数字で入力します。
2.データベースに接続しfoodテーブルから情報を取得
1で設定したデータベースに接続し、foodテーブルから情報を全て取り出しています。
取り出した情報は$foodsに入ります。
情報が正しく取れなければエラーを返す、というtry(catch)という書き方をしています。
3.htmlで表示
WEBページで表示するためにhtmlで表示させます。
<style>のところは色や間隔などを指定しています。
phpのforeachは$foodsに入っている情報を1つずつ出して、という処理をしています。
このdatabase.phpのコードをファイルマネージャのdatabase.phpに入れて更新ボタンを押します。
WEBページで表示を確認します。
ご自身のエックスサーバー名.xsrv.jp/database.phpというURLにアクセスすると、ページが開けます。
foodテーブルの中身が1つずつ表示されているのが確認できるかと思います。
これがWEB上(フロントページ)で確認できると、、、かなり嬉しいです。
エラーが出た時の対処法
もしここまでやってうまくいかない場合、、、がよくあります。
というより、エラーの連続なのが常です。
プログラミングはエラーの繰り返しをしながら成功していきます。
例えば以下のスクショのようなエラーです。
phpではどこか1つでもエラーになると動作しなくなります。(かなり厳密)
以下のようなエラー文は本当に何度も出ます。
逆にエラー文が出ている方がどこが原因でエラーになっているかがわかるのでむしろありがたいです。
このエラー文は、
php「こっちで予測してない書き方してるからdatabase.phpの21行目あたりを見てくれよ」
みたいに言っているようなものです。
それではdatabase.phpの21行目を見てみましょう。
下記のスクショの赤線を引いたところ。
コードの最後の;が全角の;になっています。
phpのコードでは半角の英数字しか使えません。
echo 'こんにちは';のように''や""で囲むことで、中の全角テキストを表示することはできますが、phpのコード自体は半角英数字で書くことが絶対条件になります。
最近ではチャットAIが便利になってきたので、エラーが出ている21行目あたりをチャットAIに投げると、エラー箇所を教えてくれたりします。
ということで、今回はエックスサーバーでのデータベースの設定とphpmyadminを使ってのデータベース情報の入力、そして入れた情報をWEBページで確認することをやってみました。
ここまでできるとphpを使ってのデータベースの基本ができるので、あとはこれを応用してサイトやシステムを作ったりするだけなので、かなり良い感じだと思います。
最後まで記事を読んでくださりありがとうございます。