[[前のページ>php05]] < | > [[次のページ>php07]] *(9) PHPでデータベースを操作する ・&bold(){操作イメージ} |BGCOLOR(#FFDAB9):スクリプト| SQLの結果↑↓SQLのコマンド |BGCOLOR(#FFDAB9):PHPエンジン| SQLの結果↑↓SQLのコマンド |BGCOLOR(#FFDAB9):(MySQL)データベースエンジン| 結果↑↓コマンド |BGCOLOR(#ccffcc):データベース| ・&bold(){PEAR MDB2を使ったアクセス} ・・PHPからデータベースにアクセスする方法がいくつかあるが、その一つがPEAR MDB2を使う方法である。(MDBのバージョンアップ版) ・・PEAR MDB2を使うとデータベース管理システム(MySQLやPostgreSQL、SQLite等)に依存しないコードを書くことができる。 ・・接続手順 + データベースに接続 + SQLを発行する + SQLの結果を受け取って処理する + 接続を切る ・接続しよう。 ・・下記のスクリプトを実行しよう。(ユーザ名、パスワード他は自分で入れなおしてください。phpMyadminにログインする際と同じです。) ・・また、Macを使用している方は、 > $pear_path = 'c:/xampp/php/PEAR'; を、 > $pear_path = '/Applications/xampp/xamppfiles/lib/php/pear'; に変更してください。 #region(close,←クリックで開く) // MDB2クラスの組み込み $pear_path = 'c:/xampp/php/PEAR'; set_include_path(get_include_path() . PATH_SEPARATOR . $pear_path); require_once('MDB2.php'); // DSNの設定 $dsn = array( 'phptype' => 'mysql', 'username' => 'root', //ユーザ名 'password' => 'pass', //パスワード 'database' => 'testdb', //データベース名 'hostspec' => 'localhost', //ホスト名 ); // オプションの設定 $options = array( 'portability' => MDB2_PORTABILITY_ALL, ); // 接続 $mdb2 =& MDB2::connect($dsn, $options); if (PEAR::isError($mdb2)) { exit('データベースへの接続に失敗しました'); } // 初期化 $sql = 'set names utf8'; $res =& $mdb2->query($sql); $mdb2->setFetchMode(MDB2_FETCHMODE_ASSOC); // 接続を切る $mdb2->disconnect(); #endregion ・&bold(){レコードの変更(insert/update/delete):execメソッド} > 変数=& $mdb2->exec (SQL文) ・例)テーブルにレコードを挿入 ・・「insert into sometable values (1, 'a')」というSQLを実行してテーブルにレコードを挿入する。失敗したときはメッセージを表示して終了する。 > $result =& $mdb2->exec("insert into sometable values (1, 'a')"); > if (PEAR::isError($result)) { > exic('SQLに失敗しました'); > } ・&bold(){レコードの読み込み(select):queryメソッド} > 変数 =& $mdb2->query(SQL文) ・&bold(){レコードを1件ずつ読み込み(select):fetchRowメソッド} > $data =& $res->fetchRow(); > ※$data, $res :変数 ・while文と一緒に用いて1件ずつレコードを処理する > while ($data = $res->fetchRow()){ > 個々のレコードに対する処理 > } ※ XAMPP 1.7.7 [PHP: 5.3.8] での設定項目です。 ---- #center(){[[前のページ>php05]] < | > [[次のページ>php07]]} #center(){◆ ◆ ◆} ----