MySQLデータベースサーバでクエリを実行する (レコードの読み出し) - PHP

PHPでMySQL データベースに接続しクエリを実行する例です。

コード例

<!--
To change this template, choose Tools | Templates
and open the template in the editor.
-->
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title></title>
  </head>
  <body>
    <?php
    $link = mysql_connect('192.168.0.81', 'root', '####ROOT##PASSWORD##');
    if (!$link == FALSE) {
      $database = mysql_select_db('test');
      if ($database==TRUE){
        $sql='select * from products_sample';
        $result = mysql_query($sql);

        while ($record = mysql_fetch_assoc($result)){
          $outstr = 'id='.$record['id'].' : name='.$record['name']
           .' : price='.$record['price'].'<br/>';
          echo($outstr);
        }
      }
      mysql_close($$link);
      echo 'Complete!' .'<BR/>';
    }
    ?>
  </body>
</html>

解説

MySQLデータベースサーバーに接続します。接続ができると戻り値として"MySQLリンクID"を戻します。接続が失敗した場合はFALSEが戻ります。
  $link = mysql_connect('192.168.0.81', 'root', '####ROOT##PASSWORD##');

データベースを選択します。今回は'test'データベースを選択しました。選択が成功すると戻り値としてTRUEが、失敗すると戻り値にFALSEが返ります。
  $database = mysql_select_db('test');

SQL文を用意しmysql_query()関数でSQL文を実行します。今回の例ではselect文を実行しましたので戻り値として「結果リソース」が戻ります。(insert,delete,updateの場合はTRUEまたはFALSEが戻ります。)
  $sql='select * from products_sample';
  $result = mysql_query($sql);

結果を出力します。 クエリの実行結果得られた「結果リソースを」mysql_fetch_assoc()関数に渡します。mysql_fetch_assoc()関数の戻り値として、結果セットのレコード(1レコード)の連想配列が戻ります。また結果セットのレコードの内部ポインタが1つ進みます。
連想配列の場合は $(連想配列変数名)['(フィールド名)'] でレコードのデータにアクセスできます。
  while ($record = mysql_fetch_assoc($result)){
    $outstr = 'id='.$record['id'].' : name='.$record['name']
      .' : price='.$record['price'].'<br/>';
    echo($outstr);
  }

mysql_fetch_assoc()関数は結果セットの行がもうない場合にはFALSEを返しますので、 mysql_fetch_assoc()関数の戻り値がFALSEになるまで繰り返すことで結果セットのレコードをすべて取得(スキャン)できます。

データベースへの接続を閉じます。
  mysql_close($$link);

実行結果

id=1 : name=Penguin Cookie : price=200
id=2 : name=Dolphin Candy : price=100
id=3 : name=Camel Cookie : price=100
id=4 : name=Whale Candy : price=250
id=5 : name=Penguin Cake : price=250
id=6 : name=Bear role : price=320
Complete!
著者
iPentecのプログラマー、最近はAIの積極的な活用にも取り組み中。
とっても恥ずかしがり。
最終更新日: 2024-01-06
作成日: 2011-01-27
iPentec all rights reserverd.