SQLの窓 イラストAC フリー素材

2013年11月27日

PHP+MySQLの考えられる最もシンプルなソースコード

MySQL 関数は、この拡張モジュールは PHP 5.5.0 で非推奨になっていますが、一般のレンタルサーバーで浸透するのはまだ先の話だと思います。( さくらインターネットの最新バージョンは、5.4.17 )

mysql_fetch_array は、連想配列、添字配列、両方として結果の行を取得します。

@mysql_connect の @(エラー制御演算子) は、付けないと接続エラーの時に PHP がワーニングを出力します。
exit は、言語構造なので exit; exit(); exit(0); 等、いずれでも動作します。
( die は、exit と同等です )

MySQL関数
<?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';
$dbname = 'lightbox';
$user = 'root';
$password = 'password';

// 接続
$connect = @mysql_connect( $server, $user, $password );
if ( !$connect ) {
	print "接続エラーです";
	exit();
}

// DB選択
mysql_select_db( $dbname, $connect );

// クエリ
$result = mysql_query("select * from 社員マスタ", $connect);
if ( !$result ) {
	die('Invalid query: ' . mysql_error());
}

// 列数
$field_count = mysql_num_fields( $result );
$count = 0;
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++;
}
print "</table>";

// メモリを開放ですが、通常は必要ありません
mysql_free_result($result);

// 接続解除
mysql_close($connect);
?>


mysqli クラス と mysqli_result クラス
<?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';
$dbname = 'lightbox';
$user = 'root';
$password = 'password';

// 接続
$connect = @ new mysqli($server, $user, $password, $dbname);
if ($connect->connect_error) {
	die('Connect Error (' . $connect->connect_errno . ') '
	. $connect->connect_error);
}

// クエリ
$result = $connect->query("select * from 社員マスタ"); 
if ( !$result ) {
	// 開放
	$result->close();
	die('Invalid query: ' . mysql_error());
}

// 列数
$field_count = $connect->field_count;
$count = 0;
print "<table>\n";
while ($row = $result->fetch_array(MYSQLI_BOTH)) {
	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++;
}
print "</table>";

// 開放
$result->close();

// 接続解除
$connect->close();
?>

関連資料

mysqli クラス
mysqli_result クラス

SQLServerPostgreSQL

関連記事

管理者として実行を強制し、ANHTTPD を実行し、MySQLサービスを起動し、エクスプローラで ANHTTPD のディレクトリを開け、ブラウザで、ANHTTPD の仮想ディレクトリを開くスクリプト


posted by at 2013-11-27 11:07 | PHP+DB | このブログの読者になる | 更新情報をチェックする