Posted by : Izumikawa Fukumi 2014年7月16日水曜日

最近とある依頼が沢山あり、作業を猛スピードで勧めているのですが、
依頼自体が結構大規模で嘔吐寸前のふっくんです。


今回は、ショップ用CMSの開発時に汎用性かつ簡単に誰でも使えるCMSを作成しなくてはいけなくて、今回初めてPHPを使いMySQLのテーブルを複数作成しました。

(今回がMySQLに初めて触れたんです。)




今回の記事ではWebMatrixを利用した開発になります。
WebMatrixをお持ちでなくてもPHPとMySQLが利用出来る方は今回の対象内に入ります。

以前「WebMatrixでMySQL接続」と言う記事を書いたので、WebMatrixをお持ちの方はその記事を始めにお読みになると理解しやすいかと思います。



  • PHPの基礎知識のある方
  • MySQL存在を知っている方
  • 自己解決出来る方
  • ロリコンの方

上記4項目に当てはまる方は対象です。



まず始めに私は知っている情報だけを元にソースを書いてみたのですが、
エラーしか出ん........

[教えて!? プログラミング のPost]


始めは質問しても全然回答が来ないので、ハングアウトにて、
+竹内史 に質問してみた所、PDOと言う物を教えてもらいました。


Q「PDOとはなんぞや!?」っと思う方の為説明します。

PDOとは、PHPでデータベース操作する時に便利なクラス?で、newでオブジェクト化?して利用する事が出来ます。〇(多分そんな感じだと思う。)

大体のデータベースに対応していて、今まで使っていたデータベースを他のデータベースに切り替える時も大規模な変更を行わなくても大丈夫な物です。

PHP公式サイトでもmysql_系の関数は将来的に消えるとの報告があるので、
PDOを使う事をお勧めします。


っで話の戻るのですが、まずテーブルを作るクエリから紹介します。


CREATE TABLE table_name (id int(11) auto_increment,Column_name CHAR(15),mail CHAR(100),PRIMARY KEY  (`id`)) ENGINE=MyISAM DEFAULT CHARSET=utf8;

上記のクエリ文をご覧下さい。
この文でデータベースにテーブルを作成します。

[table_name]この部分では作成するテーブル名を指定します。
[Column_name]では、カラム名を指定します。

id int(11)と言う部分も同じです。

カラムの設定ではデータ型の指定は必須です。


PRIMARY KEY  (`id`)

これはIDを指定しています。



今回やる事はこのクエリ文を「.sql」拡張子で保存し、それをPHPで全ての文を実行すると言う至って簡単な事です。


require_once 'database_access00.php';


$dbn = new PDO(ACCESS_TEXT, USER_NAME, PASSWORD);
$dbn -> query('SET NAMES UTF-8');


$fopens = fopen("ファイル名.sql", "r");
$i = 0;
while(!feof($fopens)){
    $fprint = fgets($fopens);
    $dbn -> query($fprint);
   $i++;
}

//footer
$stmt -> execute();
$dbn = NULL;




大体ソースを見れば分かるでしょう。
普通にrモードでファイルを開き1行ずつquery()で処理しています。
これでテーブルの作成は完了です。

- Copyright © I aim to creator. - Hatsune Miku - Powered by Blogger - Designed by Johanes Djogan -