SAK 図書館
PHP + MySQL 編4 - 問い合わせレコード参照 mysql_query,mysql_fetch_array
PostgreSQL については、SQL プログラミング資料の『PostgreSQL 編』も参考に して下さい。 SQL プログラミング資料の『MySQL 編』に新しいバージョンの MySQL 資料がある。 ■MySQL 問い合わせ、レコード参照 ・MySQL の問い合わせ、レコード照会は、次のようにする。 尚、エラー処理は、まったく行っていないので現実的な処理ではない。 ・見出しを項目名から取得し、項目数も可変で照会表示するロジックになって いる。PHP3、PHP4 どちらでも動作する。 ・PostgreSQL でも似たようにできると思う。疲れたので、PostgreSQL 版の 問い合わせ、レコード参照はパス。(^◇^;) ・尚、単純なレコード参照方法は、MySQL、PostgreSQL 共に PHP + MySQL 編2 - RDBMS 接続、ログイン、mysql_connect、mysql_select_db に掲載してあります。 <?php /* ======================================================================== MySQL 問い合わせ、レコード参照テスト phpsql5.php ======================================================================== */ ?> <HTML> <HEAD> <META http-equiv="Content-Type" content="text/html; charset=Shift_JIS"> <TITLE>MySQL 問い合わせ、レコード参照テスト</TITLE> </HEAD> <BODY> <P align="center">▼ MySQL 問い合わせ、レコード参照テスト ▼</P> <HR> <DIV> <?php // MySQL 接続 if (!($cn = mysql_connect("localhost", "root", ""))) { die; } // MySQL DB 選択 if (!(mysql_select_db("sak"))) { die; } // MySQL 問い合わせ $sql = "select * from test order by key1"; if (!($rs = mysql_query($sql))) { die; } print '照会件数= ' . mysql_num_rows($rs) . '<BR>'; // MySQL レコード参照開始 $init = True; while ($item = mysql_fetch_array($rs)) { // MySQL 見出処理開始 if ($init) { // MySQL レコード項目数参照 $clct = count($item) >> 1; print "レコード項目数= $clct<BR>"; // MySQL 項目名参照 print '=================================<BR>'; print '|'; reset($item); for ($i = 0; $i < $clct; $i++) { $tmp = each($item); // 添字キー読み飛ばしダミー $tmp = each($item); list($mds, $dmy) = $tmp; print " $mds |"; } print '<BR>'; print '=================================<BR>'; // MySQL 見出処理終了 $init = False; } // MySQL 項目データ参照 print '|'; for ($i = 0; $i < $clct; $i++) { print " $item[$i] |"; } print '<BR>'; // MySQL レコード参照終了 print '=================================<BR>'; } // MySQL 切断 mysql_close($cn); // 正常終了 print "<P>正常終了</P>"; ?> </DIV> <HR> </BODY> </HTML> ■PHP + MySQL 編資料
■PHP 基礎編資料
■CGI-Perl 基礎編資料
■CGI-Perl 基礎実地編資料
■CGI-Perl 応用実地編資料