レンタルサーバーでPHPからMySQLを呼び出す方法を、備忘録として残しておきます。
私が使用しているレンタルサーバーは、エックスサーバーです。
エックスサーバーのMySQL設定を行う
MySQLの追加を行う
エックスサーバーの「サーバーパネル」の「MySQL設定」をクリックします。
「MySQL追加」タブの「MySQLデータベース名」に、好きな名前を入力します。
確認画面へ進んで、登録します。
「MySQLユーザ追加」に好きなユーザIDを入力します。
確認画面へ進んで、登録します。
「MySQL一覧」タブの、作成したデーターベースのアクセス権未所得ユーザーのリストボックスから、作成したユーザを選び、「追加」を押します。
「アクセス権の追加が完了しました」、というメッセージが表示されます。
テーブルの追加を行う
サーバーパネルから「phpmyadmin」を選択します。
このような画面が出てくるので、左側のウィンドウでデータベースを選択します。
テーブルを作成の欄が表示されるので、好きなテーブル名、カラム数を入力して実行を押します。
テーブルの項目を入力して、保存します。
変更する場合は、「変更」をクリックすると、その項目に対する入力欄がでてきますので、変更内容を入力して保存します。
レコードを登録する
「挿入」タブをクリックして、値を入力し、「実行」をクリックします。
登録されました。INSERT文を表示してくれています。
PHPでMySQLからデータを取得してみる
MySQLへの接続は以下のように記述します。
$pdo = new PDO ( 'mysql:host=XXXXX(サーバー名);dbname=XXXXX(DB名);charset=utf8', 'XXXXX'(ユーザーID), 'XXXXX'(パスワード) );
以下は、クエリを設定して、取得した行数文表示するコードです。
foreach ( $pdo->query ( 'select * from T_在庫' ) as $row ) {
echo '<p>';
echo $row ['商品ID'], ':';
echo $row ['商品名'], ':';
echo $row ['数量'];
echo $row ['備考'];
echo '</p>';
このようなPHPファイルを作成して表示させてみました。
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="robots" content="noindex">
<meta charset="utf-8" />
</head>
<body>
<h1>メイン</h1>
<?php
$pdo = new PDO ( 'mysql:host=XXXXX;dbname=XXXXX;charset=utf8', 'XXXXX', 'XXXXX');
foreach ( $pdo->query ( 'select * from T_在庫' ) as $row ) {
echo '<p>';
echo $row ['商品ID'], '|';
echo $row ['商品名'], '|';
echo $row ['数量'], '|';
echo $row ['備考'];
echo '</p>';
}
?>
</body>
</html>
ブラウザで表示させてみると、きちんと表示できました。