Windows+Apache+PHP+MySQL(5.0)によるWebアプリケーション

第4章 MySQLによるWebアプリケーションの基礎

 

4.4 データベースの作成

 以下 、4.3で作成したMySQLデータベースのメタデータ表示用の ユーザ定義関数をインクルードファイルcommon_mysql.php内に記述し、利用することとします。

common_mysql.phpは、以下をクリックするとダウンロードできます。解凍して使ってください。

     common_mysql.zip(ダウンロード用圧縮ファイル)

「common_mysql.php」

<?php
// インクルードファイル(common_mysql.php)
// MySQL関連のユーザ定義関数

// ----------------------------------------------
// データベースの一覧表示の関数の定義
function show_databases($db)
{
 // データベースリストの取得
 $rs = mysql_list_dbs($db);

 // 結果セット内のレコード数の取得
 $num_rows = mysql_num_rows($rs);

 print "<table border=1 cellpadding=0 cellspacing=0>\n";
 print "<tr>\n";
 print "<td align=center>Database</td>\n";
 print "</tr>\n";

 // 結果セット内のレコードを順次参照
 for($i = 0; $i < $num_rows; $i++)
 {
  // データベース名の取得
  $db_name = mysql_db_name($rs,$i);

  // データベース名の表示
  print "<tr>\n";
  print "<td>{$db_name}</td>\n";
  print "</tr>\n";
 }

 print "</table>\n";
}

// ----------------------------------------------
// テーブルの一覧表示の関数の定義
function show_tables($db_name,$db)
{
 // 指定されたデータベース内のテーブルリストの取得
 $rs = mysql_list_tables($db_name,$db);

 // 結果セット内のレコード数の取得
 $num_rows = mysql_num_rows($rs);

 print "<table border=1 cellpadding=0 cellspacing=0>\n";
 print "<tr>\n";
 print "<td align=center>Tables in {$db_name}</td>\n";
 print "</tr>\n";

 // テーブルがある場合
 if($num_rows > 0)
 {
  // 結果セット内のレコードを順次参照
  for($i = 0; $i < $num_rows; $i++)
  {
   // テーブル名の取得
   $table_name = mysql_table_name($rs,$i);

   // テーブル名の表示
   print "<tr>\n";
   print "<td>{$table_name}</td>\n";
   print "</tr>\n";
  }
 }

 // テーブルが無い場合
 else
 {
  print "<tr>\n";
  print "<td>テーブルはありません</td>\n";
  print "</tr>\n";
 }
 print "</table>\n";
}

// ----------------------------------------------
// フィールド属性の一覧表示の関数の定義
function show_fields($db_name,$tbl_name,$db)
{
 // 指定されたデータベース、テーブル内のフィールドリストの取得
 $rs = mysql_list_fields($db_name,$tbl_name,$db);

 // 結果セット内のレコード数の取得
 $num_rows = mysql_num_fields($rs);

 print "テーブル「{$tbl_name}」内のフィールド属性一覧\n";
 print "<table border=1 cellpadding=0 cellspacing=0>\n";
 print "<tr>\n";
 print "<td align=center>フィールド名</td>\n";
 print "<td align=center>データ型(長さ)</td>\n";
 print "<td align=center>フラグ</td>\n";
 print "</tr>\n";

 // フィールドがある場合
 if($num_rows > 0)
 {
  // 結果セット内のレコードを順次参照
  for($i = 0; $i < $num_rows; $i++)
  {
   // フィールド名の取得
   $field_name = mysql_field_name($rs,$i);

   // データ型の取得
   $field_type = mysql_field_type($rs,$i);

   // フィールドの長さの取得
   $field_len = mysql_field_len($rs,$i);

   // フィールドのフラグの取得
   $field_flags = mysql_field_flags($rs,$i);


   // フラグがヌルなら半角スペースとする
   if($field_flags == '')
   {
    $field_flags='&nbsp;';
   }

   // フィールド属性の表示
   print "<tr>\n";
   print "<td>{$field_name}</td>\n";
   print "<td>{$field_name}({$field_len})</td>\n";
   print "<td>{$field_flags}</td>\n";
   print "</tr>\n";
  }
 }

 // フィールドが無い場合
 else
 {
  print "<tr>\n";
  print "<td>フィールドはありません</td>\n";
  print "</tr>\n";
 }
 print "</table>\n";
}

■データベースの作成

 データベースの作成には、SQL文の「CREATE DATABASE」文を使います。

CREATE DATABASE データベース名;

(注)mysql_create_db()関数はPHP5.0ではなくなりました。

 データベースの削除には、SQL文の「DROP DATABASE」文を使います。

DROP DATABASE データベース名;

(注)mysql_drop_db()関数はPHP5.0ではなくなりました。

 サンプルファイル「create_db.php」を以下に示します。冒頭でインクルードファイルcommon_mysql.phpを読み込んでいます。

「create_db.php」
<?php
// インクルードファイルの読み込み
include "common_mysql.php";

?>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=EUC-JP">
<title>create_db.php</title>
</head>
<body>
<?php

 // データベースサーバへの接続
 $db = mysql_connect('localhost','webapl','pass1234');

 // データベースの一覧表示
 show_databases($db);
 print "<br>\n";

 // データベースの作成
 $db_name = 'db_test';
 $str_sql = "CREATE DATABASE {$db_name};";
 if(mysql_query($str_sql,$db))
 {
  print "データベース「{$db_name}」を作成しました。<br><br>\n";
 }
 else
 {
  exit('データベース作成失敗');
 }

 // データベースの一覧再表示
 show_databases($db);

 // データベースの削除
 $str_sql = "DROP DATABASE {$db_name};";
 if(mysql_query($str_sql,$db))
 {
  print "データベース「{$db_name}」を削除しました。<br><br>\n";
 }
 else
 {
  exit('データベース削除失敗');
 }

 // データベースの一覧再々表示
 show_databases($db);

 // データベースサーバの切断
 mysql_close($db);

?>
</body>
</html>

 結果は、たとえば以下のように表示されます。

 

4.5 テーブルの作成

■テーブルの作成

 テーブルを作成するには、SQL文の「CREATE TABLE」文を実行します。

CREATE TABLE テーブル名
(
 フィールド名1 データ型1(長さ1),
 フィールド名2 データ型2(長さ2),
   :
 PRIMARY KEY(フィールド名)
);

 テーブルを削除するには、SQL文の「DROP TABLE」文を実行します。

DROP TABLE テーブル名;

 以下にサンプルファイル「create_table.php」を示します。テーブルがデータベース内に存在するかチェックするユーザ定義関数table_exists()関数を定義して使用しています。

「create_table.php」

<?php
// インクルードファイルの読み込み
include "common_mysql.php";
?>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=EUC-JP">
<title>create_table.php</title>
</head>
<body>
<?php

 // データベースサーバへの接続
 $db = mysql_connect('localhost','webapl','pass1234');

 // データベースの選択
 $db_name = 'db_テスト';
 mysql_select_db($db_name,$db) or die("データベースがありません");

 // テーブルの一覧表示
 show_tables($db_name,$db);
 print "<br>\n";

 // テーブルが存在しない場合
 $tbl_name = "tbl_test";
 if(!table_exists($db_name,$tbl_name,$db))
 {


  // テーブル作成用SQL文
  $str_sql = "CREATE TABLE {$tbl_name}"
      . "("
      . "shouhin_code CHAR(4),"
      . "shouhin_mei CHAR(16),"
      . "tanaka    INTEGER,"
      . "PRIMARY KEY(shouhin_code)"
      . ");";

  print '$str_sql= ' . "'{$str_sql}'<br><br>";

  // SQL文の実行
  mysql_query($str_sql,$db);
  print "テーブル「{$tbl_name}」を作成しました。<br><br>\n";

  // テーブルの一覧表示
  show_tables($db_name,$db);
  print "<br>\n";

  // フィールド属性の一覧表示
  show_fields($db_name,$tbl_name,$db);
  print "<br>\n";
 }

 // テーブルが存在する場合
 else
 {
  print "テーブル「{$tbl_name}」は作成済みです。<br>\n";
 }

 // テーブルが存在する場合
 if(table_exists($db_name,$tbl_name,$db))
 {
  // テーブル削除用SQL文
  $str_sql = "DROP TABLE {$tbl_name};";

  // SQL文の実行
  mysql_query($str_sql,$db);
  print "テーブル「{$tbl_name}」を削除しました。<br><br>\n";

  // テーブルの一覧表示
  show_tables($db_name,$db);
  print "<br>\n";
 }

 // テーブルが存在しない場合
 else
 {
  print "テーブル「{$tbl_name}」はありません。<br>\n";
 }

 // データベースサーバの切断
 mysql_close($db);

// ----------------------------------------------
// テーブルの存在チェック関数の定義
function table_exists($db_name,$tbl_name,$db)
{
 // テーブルリストの取得
 $rs = mysql_list_tables($db_name,$db);

 // 結果セットの1レコード分を添え字配列として取得する
 while($arr_row = mysql_fetch_row($rs))
 {
  // 添え字配列内にテーブル名が存在する場合
  if(in_array($tbl_name,$arr_row))
  {
   return true;
  }
 }
 return false;
}
?>
</body>
</html>

 結果は、たとえば以下のように表示されます。

【注意】以後、テーブルの存在チェック関数「table_exists()」はインクルードファイル「common_mysql.php」内に追加して記述することとします。

 

4.6 レコードの参照

■テーブルの全データの取得

 テーブルに格納されているレコードのデータを取得するにはSQL文の「SELECT」文を使います。レコードデータを取得することをレコードの読み取りあるいはレコードの参照ともいいます。

 テーブルのすべてのレコードのすべてのフィールドのデータを参照する場合は、以下のSELECT文を使います。「*」はワイルドカードといい、ここでは「すべてのフィールド」を意味します。

SELECT * FROM テーブル名;

 サンプルファイル「select.php」を以下に示します。

<?php
// インクルードファイルの読み込み
include "common_mysql.php";

?>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=EUC-JP">
<title>select.php</title>
</head>
<body>
<?php

 // データベースサーバへの接続
 $db = mysql_connect('localhost','webapl','pass1234');

 // データベース名
 $db_name = 'db_販売管理';

 // データベースの選択
 mysql_select_db($db_name,$db);

 // 参照するテーブル
 $tbl_name = "tbl_商品表";

 // SQL文の作成
 $str_sql = "SELECT * FROM {$tbl_name}";

 print '$str_sql= ' . "'{$str_sql}'<br><br>";

 // SQL文の実行
 $rs = mysql_query($str_sql,$db);

 // 結果セットの各レコードを順次、連想配列に格納する
 while($arr_record = mysql_fetch_assoc($rs))
 {


  // 連想配列のキー値をフィールド名に、
  // 値をフィールド値として取り出す
  foreach($arr_record as $field_name => $field_value)
  {

   // フィールド名とフィールド値を表示
   print "[{$field_name}] = {$field_value}<br>\n" ;
  }
  print "<br>\n";
 }


 // データベースサーバの切断
 mysql_close($db);

?>
</body>
</html>

 結果の例を以下に示します。

 

■レコードの参照結果の表形式での表示

 レコードの参照結果を一般的な表形式で表示する方法について示します。

 テーブルタグ「<table>を使って、各レコードのフィールドデータを1行づつ表のセルに入れながら表示していきます。

 サンプルファイル「select02.php」を以下に示します。

「select02.php」
<?php
// インクルードファイルの読み込み
include "common_mysql.php";

?>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=EUC-JP">
<title>select.php</title>
</head>
<body>
<?php

 // データベースサーバへの接続
 $db = mysql_connect('localhost','webapl','pass1234');

 // データベース名
 $db_name = 'db_hanbai_kanri';

 // データベースの選択
 mysql_select_db($db_name,$db);

 // 参照するテーブル
 $tbl_name = "tbl_shouhin_hyou";

 // SQL文の作成
 $str_sql = "SELECT * FROM {$tbl_name}";

 // SQL文の実行
 $rs = mysql_query($str_sql,$db);

 // 表の表示の開始
 print "<table border=1 celpadding=0 cellspacing=0>\n";

 // 結果セットの各レコードを順次、連想配列に格納する
 while($arr_record = mysql_fetch_assoc($rs))
 {
  // 行の表示の開始
  print "<tr>\n";

  // 連想配列のキー値をフィールド名に、
  // 値をフィールド値として取り出す
  foreach($arr_record as $field_name => $field_value)
  {
   // フィールド値をセル内に表示
   print "<td>{$field_value}</td>\n" ;
  }

  // 行の表示の終わり
  print "</tr>\n";
 }

 // 表の表示の終了
 print "</table>\n";

 // データベースサーバの切断
 mysql_close($db);

?>
</body>
</html>

 結果は、たとえば以下のように表示されます。

■テーブルのヘッダー部の表示

 上記の例では、テーブルのヘッダー部にフィールド名が表示されていません。以下に、表のヘッダー部にあらかじめフィールド名を表示する方法を示します。

 サンプルファイル「select03.php」を以下に示します。

「select03.php」

<?php
// インクルードファイルの読み込み
include "common_mysql.php";

?>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=EUC-JP">
<title>select.php</title>
</head>
<body>
<?php

 // データベースサーバへの接続
 $db = mysql_connect('localhost','webapl','pass1234');

 // データベース名
 $db_name = 'db_hanbai_kanri';

 // データベースの選択
 mysql_select_db($db_name,$db);

 // 参照するテーブル
 $tbl_name = "tbl_shouhin_hyou";

 // SQL文の作成
 $str_sql = "SELECT * FROM {$tbl_name}";

 // SQL文の実行
 $rs = mysql_query($str_sql,$db);

 // 表の表示の開始
 print "<table border=1 celpadding=0 cellspacing=0>\n";

 // テーブルのフィールド名の取得
 // 指定されたデータベース、テーブル内のフィールドリストの取得
 $rs2 = mysql_list_fields($db_name,$tbl_name,$db);

 // 結果セット内のフィールド数の取得
 $num_rows = mysql_num_fields($rs2);

 // フィールドがある場合
 if($num_rows > 0)
 {

  // 表のヘッダー部(フィールド名)の表示開始
  print "<tr>\n";

  // 結果セット内のレコードを順次参照
  for($i = 0; $i < $num_rows; $i++)
  {

   // フィールド名の取得
   $field_name = mysql_field_name($rs,$i);

   // フィールド名をセル内に表示
   print "<td align=center>{$field_name}</td>\n";
  }
  // 表のヘッダー部の表示終了
  print "</tr>\n";

  // 結果セットの各レコードを順次、連想記憶に格納する
  while($arr_record = mysql_fetch_assoc($rs))
  {

   // 行の表示の開始
   print "<tr>\n";

   // 連想配列のキー値をフィールド名に、
   // 値をフィールド値として取り出す
   foreach($arr_record as $field_name => $field_value)
   {
    // フィールド値をセル内に表示
    print "<td>{$field_value}</td>\n" ;
   }    
   // 行の表示の終わり
   print "</tr>\n";
  }
 }
 // 表の表示の終了
 print "</table>\n";

 // データベースサーバの切断
 mysql_close($db);

?>
</body>
</html>

 結果は、たとえば以下のように表示されます。

■テーブルの全レコード表示用ユーザ定義関数「show_records()」

 テーブルの全レコード表示はテーブルデータの確認用によく使うので、ユーザ定義関数 「show_records()」 として定義しておくこととします。

 テーブルの全レコード表示用ユーザ定義関数「show_records()」を使用したサンプルファイルを以下に示します。結果セットのフィールド名を配列に格納するユーザ定義関数「arr_fields_name()」も定義して使っています。

 サンプルファイル「show_records.php」を以下に示します。

「show_records.php」

<?php
// インクルードファイルの読み込み
include "common_mysql.php";

?>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=EUC-JP">
<title>select.php</title>
</head>
<body>
<?php

 // データベースサーバへの接続
 $db = mysql_connect('localhost','webapl','pass1234');

 // データベース名
 $db_name = 'db_hanbai_kanri';

 // データベースの選択
 mysql_select_db($db_name,$db);

 // 参照するテーブル
 $tbl_name = "tbl_shouhin_hyou";

 // テーブルの全レコードの一覧表示
 print "テーブル「{$tbl_name}」のレコード一覧<br>\n";
 show_records($db_name,$tbl_name,$db);

 // 結果セットの解放
 mysql_free_result($rs);

 // データベースサーバの切断
 mysql_close($db);

// -----------------------------------------------
// テーブルの全データの一覧表示関数の定義
function show_records($db_name,$tbl_name,$db)
{
// $db_name     データベース名(R)
// $tbl_name     テーブル名(R)
// $db        接続ID(R)
// 戻り値 = TRUE  テーブルにフィールド名がある場合
//      = FALSE テーブルにフィールド名がない場合

 // SQL文の作成
 $str_sql = "SELECT * FROM {$tbl_name}";

 // SQL文の実行
 $rs = mysql_query($str_sql,$db);

 // フィールドがある場合
 if(arr_fields_name($rs,$arr_fields_name))
 {
  // 表の表示の開始
  print "<table border=1 celpadding=0 cellspacing=0>\n";

  // 表のヘッダー部(フィールド名)の表示開始
  print "<tr>\n";

  // 配列の値を順次参照
  foreach($arr_fields_name as $field_name)
  {
   // フィールド名の表示
   print "<td align=center>{$field_name}</td>\n";
  }
  // 表のヘッダー部の表示終了
  print "</tr>\n";

  // 結果セットの各レコードを順次、連想記憶に格納する
  while($arr_record = mysql_fetch_assoc($rs))
  {
   // 行の表示の開始
   print "<tr>\n";

   foreach($arr_record as $field_name => $field_value)
   {
    // フィールド値をセル内に表示
    print "<td>{$field_value}</td>\n" ;
   }
   // 行の表示の終わり
   print "</tr>\n";
  }
  // 表の表示の終了
  print "</table>\n";

  $result = TRUE;
 }

 // フィールドがない場合
 else
 {
  $result = FALSE;
 }
 // 結果セットの解放
 mysql_free_result($rs);

 return $result;
}

// ----------------------------------------------
// テーブルのフィールド名を配列に格納する関数の定義
function arr_fields_name($rs,&$arr_fields_name)
{
// $rs        結果ID(R)
// $arr_fields_name フィールド名を格納した添字配列(W)
// 戻り値 = TRUE  テーブルにフィールド名がある場合
//     = FALSE テーブルにフィールド名がない場合

 // フィールド名を格納する配列の初期化
 $arr_fields_name = array();

 // 結果セットの最初のレコードのフィールド名と値を連想配列に取得
 $arr_record = mysql_fetch_assoc($rs);

 // 結果セットのポインター(レコード位置)を最初に戻す
 mysql_data_seek($rs,0);

 // フィールドがある場合
 if(is_array($arr_record))
 {
  $arr_fields_name = array_keys($arr_record);
  $result = TRUE;
 }

 // フィールドがない場合
 else
 {
  $result = FALSE;
 }
 return $result;
}

?>
</body>
</html>

 結果は、たとえば以下のように表示されます。

■結果セットの全レコード表示用ユーザ定義関数「show_rs()」

 結果セットの全レコード表示関数をテーブルの全レコード表示関数 「show_records()」と同様に、ユーザ定義関数「show_rs()」 として定義しておくこととします。

 テーブルの全レコード表示用ユーザ定義関数「show_rs()」を使用したサンプルファイルを以下に示します。

 サンプルファイル「show_rs.php」を以下に示します。

「show_rs.php」

<?php
// インクルードファイルの読み込み
include "common_mysql.php";

?>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=EUC-JP">
<title>select.php</title>
</head>
<body>
<?php

 // データベースサーバへの接続
 $db = mysql_connect('localhost','webapl','pass1234');

 // データベース名
 $db_name = 'db_hanbai_kanri';

 // データベースの選択
 mysql_select_db($db_name,$db);

 // 参照するテーブル
 $tbl_name = "tbl_shouhin_hyou";

 // SQL文の作成
 $str_sql = "SELECT * FROM {$tbl_name}";

 // SQL文の実行
 $rs = mysql_query($str_sql,$db);

 // テーブルの全レコードの一覧表示
 print "テーブル「{$tbl_name}」のレコード一覧<br>\n";
 show_rs($rs);

 // 結果セットの解放
 mysql_free_result($rs);

 // データベースサーバの切断
 mysql_close($db);

// -----------------------------------------------
// 結果セットの全データの一覧表示関数の定義
function show_rs($rs)
{
// $rs     結果セット(R)
// 戻り値 = TRUE  結果セットにフィールド名がある場合
//      = FALSE 結果セットにフィールド名がない場合

 // フィールドがある場合
 if(arr_fields_name($rs,$arr_fields_name))
 {
  // 表の表示の開始
  print "<table border=1 celpadding=0 cellspacing=0>\n";

  // 表のヘッダー部(フィールド名)の表示開始
  print "<tr>\n";

  // 配列の値を順次参照
  foreach($arr_fields_name as $field_name)
  {
   // フィールド名の表示
   print "<td align=center>{$field_name}</td>\n";
  }
  // 表のヘッダー部の表示終了
  print "</tr>\n";

  // 結果セットの各レコードを順次、連想記憶に格納する
  while($arr_record = mysql_fetch_assoc($rs))
  {
   // 行の表示の開始
   print "<tr>\n";

   foreach($arr_record as $field_name => $field_value)
   {
    // フィールド値をセル内に表示
    print "<td>{$field_value}</td>\n" ;
   }
   // 行の表示の終わり
   print "</tr>\n";
  }
  // 表の表示の終了
  print "</table>\n";

  $result = TRUE;
 }

 // フィールドがない場合
 else
 {
  $result = FALSE;
 }
 return $result;
}

// ----------------------------------------------
// テーブルのフィールド名を配列に格納する関数の定義
function arr_fields_name($rs,&$arr_fields_name)
{
// $rs        結果ID(R)
// $arr_fields_name フィールド名を格納した添字配列(W)
// 戻り値 = TRUE  テーブルにフィールド名がある場合
//     = FALSE テーブルにフィールド名がない場合

 // フィールド名を格納する配列の初期化
 $arr_fields_name = array();

 // 結果セットの最初のレコードのフィールド名と値を連想配列に取得
 $arr_record = mysql_fetch_assoc($rs);

 // 結果セットのポインター(レコード位置)を最初に戻す
 mysql_data_seek($rs,0);

 // フィールドがある場合
 if(is_array($arr_record))
 {
  $arr_fields_name = array_keys($arr_record);
  $result = TRUE;
 }

 // フィールドがない場合
 else
 {
  $result = FALSE;
 }
 return $result;
}
?>
</body>
</html>

 結果は、たとえば以下のように表示されます。

 

【注意】以後、テーブルの全レコードの表示関数「show_tables()」、結果セットの全レコードの表示関数「show_rs()」、および結果セットのフィールド名配列取得関数「arr_fields_name()」はインクルードファイル「common_mysql.php」内に追加して記述することとします。

■テーブルの一部のデータを表示

 すべてのレコードの指定したフィールド名のみを参照したい場合は、以下のSELECT文を使います。

SELECT フィールド名1, フィールド名2,・・・,フィールド名n FROM テーブル名;

 特定の条件を満たすレコードのすべてのフィールドを参照する場合は、SELECT文に条件を記述するWHERE句を付加します。

SELECT * FROM テーブル名 WHERE 条件式;

 特定の条件を満たすレコードの指定のフィールドを参照する場合は、以下のようなSELECT文を使います。

SELECT   フィールド名1, フィールド名2,・・・,フィールド名n 
  FROM  テーブル名
  WHERE 条件式;

 サンプルファイル「select06.php」を以下に示します。

「select06.php」

<?php
// インクルードファイルの読み込み
include "common_mysql.php";

?>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=EUC-JP">
<title>select06.php</title>
</head>
<body>
<?php

 // データベースサーバへの接続
 $db = mysql_connect('localhost','webapl','pass1234');

 // データベース名
 $db_name = 'db_hanbai_kanri';

 // データベースの選択
 mysql_select_db($db_name,$db);

 // 参照するテーブル
 $tbl_name = "tbl_shouhin_hyou";

 // 全レコード、全フィールド表示用SQL文の作成
 $str_sql = "SELECT * FROM {$tbl_name};";

 // SQL文の実行
 $rs = mysql_query($str_sql,$db);

 // テーブルの全レコードの一覧表示
 print "テーブル「{$tbl_name}」の全レコード、全フィールドデータ一覧<br>\n";
 show_rs($rs);
 print "<br>\n";

 // 結果セットの解放
 mysql_free_result($rs);

 // 指定したフィールドのみを参照するSQL文の作成
 $str_sql = "SELECT shouhin_mei,tanka FROM {$tbl_name};";

 // SQL文の実行
 $rs2 = mysql_query($str_sql,$db);

 // 結果セットの表示
 print "\"{$str_sql}\"<br>\n";
 show_rs($rs2);
 print "<br>\n";

 // 結果セットの解放
 mysql_free_result($rs2);

 // 条件にあったレコードのみを抽出するSQL文の作成
 $str_sql = "SELECT * FROM {$tbl_name}"
      . " WHERE shouhin_code = 1002";


 // SQL文の実行
 $rs3 = mysql_query($str_sql,$db);

 // 結果セットの表示
 print "\"{$str_sql}\"<br>\n";
 show_rs($rs3);
 print "<br>\n";

 // 結果セットの解放
 mysql_free_result($rs3);

 // 条件にあったレコードの指定のフィールド名みを抽出するSQL文の作成
 $str_sql = "SELECT shouhin_mei,tanka FROM {$tbl_name}"
      . " WHERE shouhin_mei = '海の幸御膳'";


 // SQL文の実行
 $rs4 = mysql_query($str_sql,$db);

 // 結果セットの表示
 print "\"{$str_sql}\"<br>\n";
 show_rs($rs4);
 print "<br>\n";

 // 結果セットの解放
 mysql_free_result($rs4);

 // データベースサーバの切断
 mysql_close($db);

?>
</body>
</html>

 結果は、たとえば以下のように表示されます。

 

 


前へ | 目次へ |次へ  | YCポータルサイト

執筆 山田豊通
更新日: 2006年9月13日