April 20, 2007
PHPを使ったDBアクセス
第17回 PHPを使ったDBアクセス
前回はPerl(CGI)を使ったDBアクセスを説明しました。
今回はPHPを使ったDBのアクセスの仕方を説明します。
ちなみに、PHPとはなんなの?という方もいらっしゃいますでしょうから
簡単に説明いたしますが、PHPとは「Hypertext Preprocessor」の略で、
JavaScriptやASP(Active Server Page)のようにHTMLファイルの中に書き込むスクリプト言語です。
ファイルの拡張子はphpで、さくらインターネットではアクセス権限を755にして使用します。
ファイルの作り方はとても簡単で、HTMLファイルの拡張子をphpにして
「<?php」という単語ではじまって、
「?>」という単語でとじて、この間にPHPのプログラムを書きます。
極端な例を言えば、htmlファイルをphpにしてアップするだけでもHTMLと同じ動きをします。
そこでデータベースなどアクセスするところなどを記述するのに
<?php
~
?>
と記述するわけですね。
具体的にPHPにアクセスするサンプルスクリプトを書いてみましょう。
さくらインターネットでは、スタンダードプラン以上だと、Mysqlという
データベースが使えます。
今回は、Mysqlにアクセスする方法を掲載します。
access.phpというファイルを作るとします。
<?php
//DB名
$dbname = "■■■";
//ホスト名
$hostname = "ドメイン名";
//userid
$userid = "●●●";
//password
$passwd = "▲▲▲";
$db_key = db_property();//DB設定値の読み込み
//データベースに接続
if(!$con=mysql_connect($hostname,$userid,$passwd)){
echo "接続失敗";
exit;
}
//データベースを選択
$row=mysql_select_db($dbname,$con);
$sql = "SQL";
//select文を実行
if(!$res=mysql_query($sql)){
echo "SQL失敗";
mysql_close($con);//データベースを切断
exit;
}
if (!($rs = mysql_query($sql))) {
die;
}
"HTMLを表示したりする"
//データベースを切断
mysql_close($con);
}
?>
こんな感じになるでしょうか。
PerlでDBアクセスするときにも記述しましたが
●●●のところは、DBにアクセスするユーザ名、▲▲▲のところはパスワード、
それと「DB名:ドメイン名」のところにはDB名のドメインが入ります。
ちなみに、dbnameとは、データベースの名称を入れるところなのですが
さくらインターネットの場合、データベースは1つしか作れないので
(テーブルは何個でも作れます)
テーブル名称=idだと思いますので、たぶんuseridと同じものを入れれば、動きます。
これでPerl、PHPを使ってデータベースにアクセスする方法はわかりましたね。
ただSQLを書くにあたって、サーバーにphpやらcgiにSQLを記述したものをいきなり使ってしまうと
不具合があるかもしれません。
そのため、自分が書いたSQLがあっているかどうかを検査する必要があります。
次回は、プログラムを使わないで直接Mysqlを操作する方法を掲載いたします。