仕事、学んでいること、興味のあることなどの「アウトプット」を書き出すブログ。心を高め、魂を磨くために、今日も一生懸命働く。
PHPからMySQL接続する、いろいろな方法を試す第2弾。
今回は、PEAR::MDB2を利用します。
※第1弾はPHPでMySQLに接続です。
最初は、PEAR::DBを利用しようと思っていたのですが、
情報収集を始めてすぐに、
まだ、PEAR::DBをお使いの方へという記事を見つけてしまって、
もうあまり使われていないことを知りました。
PEAR::MDB2は、その進化版のようなので、
最初から、こちらをテストする方が良さそうです。
そして、こちらがPEAR::MDB2のテスト結果です。
MySQLやPostgreSQL、SQLiteなどデータベースには、
いろいろな種類があり、プログラムはその影響をもろに受けます。
よって、
MySQL→PostgreSQL
などのような変更に非常にコストがかかります。
しかし、PEAR::MDB2などのデータベース抽象化レイヤを利用すれば、
各データベースのドライバをインストールするだけで、
プログラム変更の手間なく(少なく)、データベース変更をすることができます。
PEAR::MDB2の前には、PEAR::DBというものがありました。
しかし、「PEAR::DB」には、こう書かれています。
This package has been superseded, but is still maintained for bugs and security fixes. Use MDB2 instead.
翻訳すると、
”このパッケージは、新しいものに置き換わっています。なぜなら機能的に古くなったから。バグやセキュリティの修正は、まだ続けられますが、代わりにMDB2を使ってくれ。”
というような感じです。
PEAR::MDB2は、PEAR::DBのアップデート版と考えて良いでしょう。
<?php
ini_set('include_path', '********************');
require_once("MDB2.php");
require_once("db_info.php");
$dsn = array("phptype"=>"mysql","username"=>"$USER","password"=>"$PASS","hostspec"=>"$SERV","database"=>"$DBNM");
$mdb2 = MDB2::factory($dsn);
if(PEAR::isError($mdb2)){
die($mdb2->getMessage());
}
$mdb2->setFetchMode(MDB2_FETCHMODE_ASSOC);
$all = $mdb2->queryAll('SELECT * FROM *******');
print('<table border="1" width="48%">
<tr>
<th bgcolor="#DCDCDC">スポーツ</th>
<th bgcolor="#DCDCDC">人数</th>
<th bgcolor="#DCDCDC">日付</th>
</tr>');
foreach($all as $key => $data){
print('<tr>');
print('<td>'.$data[sports].'</td>');
print('<td>'.$data[ninzu].'</td>');
print('<td>'.$data[hiduke].'</td>');
print('</tr>');
}
print('</table>');
?>
今回は、スーパーロメオのノートブックさんからも、
参考にさせてもらいました。ありがとうございます。
PEARをエックスサーバで使う方法をマスターしてから、
PHPの学習スピードが、ようやくと上がってきたような気がしています。
つまりは、ようやくと、
自分の力で何かを調べるための見当が付けられるようになった。
というところでしょうか。
<< PHPでMySQLに接続
[ 起業日記のホームへ ]
仕事の成果や興味を持って体験したこと、また今学んでいることで自分なりにまとめられるようになったことなど、とにかくアウトプットを中心として書いていくブログです。
「1日16時間 起業日記」の意味は、WEBの世界で起業した管理人が、京セラの稲盛和夫さん、HONDAの本田宗一郎さんのように、年間5,000時間以上を数十年と働き続けた名経営者達に憧れて、せめて時間だけでも同じことをしよう!という意気込みを表現しています。
コメント