PHP のマニュアルでは、 MySQLi や PDO_MySQL を使うように推奨していますが、当分このコードも扱えないといけないので、一番扱いやすい内容でまとめました。 フィールドの数を mysql_num_fields で取得して、mysql_fetch_array で 連想配列、添字配列として結果の行を取得しています。 file_put_contents の追加モードでログを出力しています( utf-8n で出力されます ) MySQL のキャラクタセットは UTF-8 です。PHP のページも UTF-8 なので、特別な考慮なしに正しく表示されます。 ▼ この接続でのキャラクタセットの情報
| character_set_client | utf8 |
| character_set_connection | utf8 |
| character_set_database | utf8 |
| character_set_filesystem | binary |
| character_set_results | utf8 |
| character_set_server | utf8 |
| character_set_system | utf8 |
<?php
header( "Content-Type: text/html; Charset=utf-8" );
header( "pragma: no-cache" );
header( "Expires: Wed, 31 May 2000 14:59:58 GMT" );
header( "Cache-control: no-cache" );
$server = 'localhost';
$db_name = 'lightbox';
$user = 'root';
$password = 'パスワード';
// 接続
$connect = @mysql_connect( $server, $user, $password );
if ( !$connect ) {
die("接続エラーです : " . mysql_error() );
}
// DB選択
if ( !mysql_select_db( $db_name, $connect ) ) {
die("DB選択に誤りがあります : " . mysql_error() );
}
// クエリ
$result = mysql_query("select * from 社員マスタ", $connect);
if ( !$result ) {
die('クエリーに誤りがあります : ' . mysql_error());
}
// 列数
$field_count = mysql_num_fields( $result );
$count = 0;
?>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<style>
* {
font-family: "メイリオ", Meiryo, "MS Pゴシック", sans-serif;
font-size: 12px;
}
table {
border-collapse: collapse;
border-style: solid;
border-color: #c0c0c0;
border-width: 1px;
background-color: #FFFFFF;
}
td {
padding: 5px;
border-style: solid;
border-color: #c0c0c0;
border-width: 1px;
}
</style>
</head>
<body>
<?php
$log_file = "rowdata_001.log";
file_put_contents( $log_file,"" );
print "<table>\n";
while ($row = mysql_fetch_array($result)) {
print "<tr>\n";
print "\t<td>" . ($count + 1) . "</td>\n";
for( $i = 0; $i < $field_count; $i++ ) {
print "\t<td>{$row[$i]}</td>\n";
}
print "</tr>\n";
$count++;
file_put_contents( $log_file, print_r($row,true), FILE_APPEND );
}
print "</table>";
// メモリを開放ですが、通常は必要ありません
mysql_free_result($result);
// 接続解除
mysql_close($connect);
?>
<br>
出力件数 : <?= $count ?>
"select * from 社員マスタ" とありますが、厳密には "select * from `社員マスタ`" のように使う事ができます( これは、Oracle の "社員マスタ" にあたり、Microsoft では [社員マスタ] にあたります。 ▼ ログ( rowdata_001.log / utf8n )
Array
(
[0] => 0001
[社員コード] => 0001
[1] => 浦岡 友也
[氏名] => 浦岡 友也
[2] => ウラオカ トモヤ
[フリガナ] => ウラオカ トモヤ
[3] => 0003
[所属] => 0003
[4] => 0
[性別] => 0
[5] => 2014-04-11 00:00:00
[作成日] => 2014-04-11 00:00:00
[6] => 2014-06-27 00:00:00
[更新日] => 2014-06-27 00:00:00
[7] => 270000
[給与] => 270000
[8] => 9000
[手当] => 9000
[9] =>
[管理者] =>
[10] =>
[生年月日] =>
)
関連する記事
|
|
【MySQLの最新記事】
- MySQL に PIPES_AS_CONCAT を設定して、CSV を出力する SQL
- MySQL : DB のデータを簡単に沢山作る方法は inner join
- MySQL で、Group by して合算された行内で最新データの明細を再び取り出す SQL
- MySQL のコマンドラインの操作
- Windows 環境の MySQL から日本語名のテーブルを コマンドプロンプトでエクスポート(mysqldump.exe)する
- MySQLの日本語オンラインマニュアル、5.6 とその中のいくつかの重要なリンク
- MySQL のコマンドプロンプトからの処理用バッチファイル
- MySQL で、主キーの作り変えのプロセス / serial では、自動的に インデックスが作成されます
- MySQL 5.6 (Generally Available (GA) Releases) インストール
- MySQL : 引数の無い LAST_INSERT_ID() と 引数のある LAST_INSERT_ID( n ) の使用方法
- MySQL における AUTO_INCREMENT 列の設定および詳細
- MySQL のプログラムからの経過時間の表現方法( CAST, STR_TO_DATE, GET_FORMAT, DATE_FORMAT, TIMEDIFF )
- MySQL で出退勤の列を datetime 型で持った場合、列を使用して DATEDIFF と TIMEDIFF で直接計算
- MySQL を UTF-8 環境で作成して、mysqldump.exe でバックアップするバッチファイルのサンプル
- MySQL 5.6 : テストデータ自動作成スクリプト
- PHP + MySQL : Windows の COM を使った ODBC 経由での接続とデータの取得(SELECT)
- VBScript + MySQL : ADO( ODBC ) による接続とデータの取得(SELECT)
- PHP + MySQL : Windows における ODBC 経由での接続とデータの取得(SELECT)
- PHP + MySQL : PDO_MySQL での接続とデータの取得(SELECT)
- PHP + MySQL : MySQL 改良版拡張モジュール mysqli クラスでの接続とデータの取得(SELECT)






