MySQL データベースの処理




データーベースの基礎知識

データベースを開く

使用関数: mysql_connect 関数 mysql_select_db 関数 mysql_close 関数

  • mysql_connect 関数を使って MySQL に接続する

    mysql_connect 関数の引数には「MySQLサーバー名」「ログインユーザー名」「ログインユーザーのパスワード」をその順番で指定する。ローカルパソコンにセットアップされた MySQL で試行する場合には、MySQL サーバー名は「localhost」とする。

    php.ini ファイルの「 MySQL 」 セッションにある「 mysql.default_host 」「 mysql.default_user 」「 myaql.default_password 」の項目を設定すると、デフォルトのサーバー名やログインユーザを設定することができる。

    接続するMySQL のサービスは1つであることがほとんどなので、指定は省略できる。

    (例)「データベースを選択」のところに「mysql_select_db($DBNAME);」とあるが、正確には「 mysql_select_db($DBNAME, $con); 」と書く。
  • ②処理対象のデータベースを管理できる。例「 顧客情報 」のデータベース、「 給与情報 」のデータベースなど、お互い関連性のないデータを1つの MySQL で管理できる。このため、これからその中のどのデータベースを使うか指定が必要。
  • mysql_query 関数で MySQL文字コードを設定する

    PHPMySQL文字コード設定によっては不要な処理だが、保存形式をEUCを使っている場合、MySQL に全角文字を含む SQL を発行したり、MySQL から全角文字を読み込んだりする際の文字化けを防ぐため、「 set names ujis 」という SQL 文を発行する。( Shift-JIS 形式が主体の環境では「set names suis」となる。 )
  • PHP 関数でデータベースに対する処理を実行する

    MySQL 操作用の PHP 関数を利用して、データを表示する、条件に応じてデータを並べ替える、データに変更を加える、不要なデータを削除する・・・・など、さまざまな処理を行う。
  • mysql_close 関数で MySQL としての接続を解除する
    すべての処理が完了したら、mysql_close 関数で MySQL との接続を削除する。この関数の変数には MySQL 接続IDを指定しているが、省略も可能。その場合、最後にオープンされた接続が解除になる。


【 書式 】

PHPスクリプト

<?php
	$DBSERVER = "localhost"; // MySQL サーバ名
	$DBUSER = "*****"; // ログインユーザ名
	$DBPASSWORD = "*****"; // パスワード
	$DBNAME = "*****"; // データベース名
?>

<?php
	// MySQL に接続
	$con = mysql_connect($DBSERVER, $DBUSER, $DBPASSWORD);
	if ($con) {
		print "MySQL に接続した。<br>";
	
	} else {
		print "MySQL に接続できない。<br>";
	}
	
	// データベース選択
	$selectdb = mysql_select_db($DBNAME);
	if ($selectdb) {
		print "$DBNAME データベースを選択した。<br>";
	
	} else {
		print "$DBNAME データベースを選択できない。<br>";
	}
	
	// MySQL の文字コードを設定
	mysql_query("set names ujis");
	
/*	ここでデーターベースに対するさまざまな処理を実行*/
	//  MySQL とその接続を解除
	$con = mysql_close();
	if ($con) {
		print "MySQL との接続を解除した。<br>";
	
	} else {
		print "MySQL との接続を解除できない。<br>";}
?>


ソースコード


ソースコード【 HTML 】

<?php
	$DBSERVER = "localhost"; // MySQL サーバ名
	$DBUSER = "*****"; // ログインユーザ名
	$DBPASSWORD = "*****"; // パスワード
	$DBNAME = "*****"; // データベース名
?>
<!DOCTYPE html>
<html lang="ja">
		<head>
		<meta charset="UTF-8">
		<meta name="description" content="">
		<meta name="keywords" content="">
		<meta name="viewport" content="width=device-width,initial-scale=1,maximum-scale=1,user-scalable=no">
		<title>webサイト開発 | PHPサンプルサイト</title>
		<link href="../css/reset.css" rel="stylesheet" type="text/css" media="screen">

		<!-- CSS for slidesjs.com example -->
		<link rel="stylesheet" href="../css/example.css">
		<link rel="stylesheet" href="../css/font-awesome.min.css">
		<!-- End CSS for slidesjs.com example -->

		<link rel="stylesheet" href="../css/embet.css">
		<link href="../css/common.css" rel="stylesheet" type="text/css" media="screen">
		<link href="../css/page.css" rel="stylesheet" type="text/css" media="screen">
		<script type="text/javascript" src="http://code.jquery.com/jquery.min.js"></script>
		<script type="text/javascript">
			jQuery(document).ready(function($) {
				//******************************************
				//クリックによる開閉
				//******************************************
				//基本的に、ページ内のどこをクリックしても全てのサブメニューを閉じるようにしておく。
				$(document).click(function() { $('#main_menu > li > ul').slideUp() });

				$('#main_menu > li').click(function(ev){
					var sub = $(this).children('ul');
					if ($(sub).is(':hidden')) {
						//今回は、これからサブメニューを開きたい項目をクリックしているので、
						//上記の、全てのサブメニューを閉じるイベントを発火させてはならない。
						//よって、イベントのバブリングを中止する。
						ev.stopPropagation();

						//他に開いているサブメニューを閉じる。
						//開いたままでもよければ、下の1行は必要ない。
						$('#main_menu > li > ul:visible').slideUp();
						$(sub).slideDown();
					}
				});

				//クリックによる開閉の場合、親メニューの"a"要素の機能は必要ないので無効にする。
				$('#main_menu > li > a').click(function(ev) { ev.preventDefault() });
				
			});
		</script>
		<script type="text/javascript">
			jQuery(document).ready(function($) {
				//******************************************
				//クリックによる開閉
				//******************************************
				//基本的に、ページ内のどこをクリックしても全てのサブメニューを閉じるようにしておく。
				$(document).click(function() { $('#main_menu > li > ul').slideUp() });

				$('#main_menu > li').click(function(ev){
					var sub = $(this).children('ul');
					if ($(sub).is(':hidden')) {
						//今回は、これからサブメニューを開きたい項目をクリックしているので、
						//上記の、全てのサブメニューを閉じるイベントを発火させてはならない。
						//よって、イベントのバブリングを中止する。
						ev.stopPropagation();

						//他に開いているサブメニューを閉じる。
						//開いたままでもよければ、下の1行は必要ない。
						$('#main_menu > li > ul:visible').slideUp();
					
						$(sub).slideDown();
					}
				});

				//クリックによる開閉の場合、親メニューの"a"要素の機能は必要ないので無効にする。
				$('#main_menu > li > a').click(function(ev) { ev.preventDefault() });
				
			});
		</script>
		<script type="text/javascript">
			jQuery(document).ready(function($) {
				//******************************************
				//クリックによる開閉
				//******************************************
				//基本的に、ページ内のどこをクリックしても全てのサブメニューを閉じるようにしておく。
				$(document).click(function() { $('#list_menu > li > ul').slideUp() });

				$('#list_menu > li').click(function(ev){
					var sub = $(this).children('ul');
					if ($(sub).is(':hidden')) {
						//今回は、これからサブメニューを開きたい項目をクリックしているので、
						//上記の、全てのサブメニューを閉じるイベントを発火させてはならない。
						//よって、イベントのバブリングを中止する。
						ev.stopPropagation();

						//他に開いているサブメニューを閉じる。
						//開いたままでもよければ、下の1行は必要ない。
						$('#list_menu > li > ul:visible').slideUp();
					
						$(sub).slideDown();
					}
				});

				//クリックによる開閉の場合、親メニューの"a"要素の機能は必要ないので無効にする。
				$('#main_menu > li > a').click(function(ev) { ev.preventDefault() });
				
			});
		</script>
		<style type="text/css">
#main_menu > li > ul {
	display: none;
	padding: 10px 10px 5px;
	background: rgba(169, 169, 170, 1.0);
	cursor: pointer!important;
}
</style>
		</head>

		<body>

<!--▽#container-->
<div id="container">
<header class="clearfix">
				<h1><a href="../index.html"><img src="../images/logo.png" width="75" alt=""></a><span>webサイト開発 | PHPサンプルサイト</span></h1>
				
				<!--▽#menu-->
				
				<ul id="main_menu">
				<li>
				<a href=""><img src="../images/menu.png"  width="38px" alt=""></a>
				<ul class="menu_home">
								<li><span class="menu_title">HOME</span>
						<li><a href="#top">TOP</a></li>
								</li>
						</ul>
				<ul class="menu_link">
								<li><span class="menu_title">LINK</span>
						<li><a href="http://d.hatena.ne.jp/webry/">実践するWEBサイト制作 | webnote</a></li>
								<li><a href="http://webry.dousetsu.com/images_deta/">はてなデーターの保管庫 | webrynote</a></li>
								<li><a href="http://webrynote.jimdo.com/"></a>動画で確認するscript | FlashとJavaScrip</li>
								<li><a href="http://webry.dousetsu.com/"></a>実践でカフェオレを俺流においしく作るサイト | カフェ俺流に作る</li>
								</li>
						</ul>
				<ul class="menu_sns">
								<li><span class="menu_title">SNS</span>
						<li><a href="https://twitter.com/webrynote">Twitter</a></li>
								<li><a href="https://www.facebook.com/note.webry">Facebook.</a></li>
								<li><a href="http://webry.tumblr.com/">Tumblr</a></li>
								</li>
						</ul>
				</li>
		</ul>
		</header>

<!--▽.content-->
<div class="content"> 
				
				<!--▽.col1-->
				<section class="col1">
				<h2>データーベースの基礎知識</h2>
		</section>
				<!--▲.col1--> 
				
				<!--▽.content_inner-->
				<div class="content_inner">
				<section class="col2">
								<section id="post01" class="col2-1 post"> <a href="#post01">
										<h2><span class="ita">1-1&nbsp;</span>データベースを開く</h2>
										</a>
								<div class="post_inner">
												<p class="p_point"><span class="point">point&nbsp;</span>mysql_connect 関数 mysql_select_db 関数 mysql_close 関数</p>
												<ul class="list01">
												<li>&#9312;mysql_connect 関数を使って MySQL に接続する<br>
																mysql_connect 関数の引数には「MySQLサーバー名」「ログインユーザー名」「ログインユーザーのパスワード」をその順番で指定する。ローカルパソコンにセットアップされた MySQL で試行する場合には、MySQL サーバー名は「localhost」とする。<br>
																php.ini ファイルの「 MySQL 」 セッションにある「 mysql.default_host 」「  mysql.default_user 」「 myaql.default_password 」の項目を設定すると、デフォルトのサーバー名やログインユーザを設定することができる。<br>
																接続するMySQL のサービスは1つであることがほとんどなので、指定は省略できる。<br>
																(例)「データベースを選択」のところに「mysql_select_db($DBNAME);」とあるが、正確には「 mysql_select_db($DBNAME, $con); 」と書く。</li>
												<li>&#9313;処理対象のデータベースを管理できる。例「 顧客情報 」のデータベース、「 給与情報 」のデータベースなど、お互い関連性のないデータを1つの MySQL で管理できる。このため、これからその中のどのデータベースを使うか指定が必要。</li>
												<li>&#9314;mysql_query 関数で MySQL の文字コードを設定する<br>
																PHP や MySQL の文字コード設定によっては不要な処理だが、保存形式をEUCを使っている場合、MySQL に全角文字を含む SQL を発行したり、MySQL から全角文字を読み込んだりする際の文字化けを防ぐため、「 set names ujis 」という SQL 文を発行する。( Shift-JIS 形式が主体の環境では「set names suis」となる。 )</li>
												<li>&#9315;PHP 関数でデータベースに対する処理を実行する<br>
																MySQL 操作用の PHP 関数を利用して、データを表示する、条件に応じてデータを並べ替える、データに変更を加える、不要なデータを削除する・・・・など、さまざまな処理を行う。</li>
												<li>&#9316;mysql_close 関数で MySQL としての接続を解除する
																すべての処理が完了したら、mysql_close 関数で MySQL との接続を削除する。この関数の変数には MySQL 接続IDを指定しているが、省略も可能。その場合、最後にオープンされた接続が解除になる。</li>
										</ul>
										</div>
						</section>
								<!--▲.col2-1-->
								
								<section class="col-code">
								<div id="post02" class="post"> <a href="#post02">
										<h2><span>PHPのコードを表示</span></h2>
										</a>
												<div class="post_inner">
												<div class="inner">
																<pre>
<code>
&lt;?php
	$DBSERVER = "*******"; // MySQL サーバ名
	$DBUSER = "*******"; // ログインユーザ名
	$DBPASSWORD = "********"; // パスワード
	$DBNAME = "*********"; // データベース名
?&gt;

&lt;?php 
	// MySQL に接続
	$con = mysql_connect($DBSERVER, $DBUSER, $DBPASSWORD);
	if ($con) {
		print "MySQL に接続した。&lt;br&gt;";
	
	} else {
		print "MySQL に接続できない。&lt;br&gt;";
	}
	
	// データベース選択
	$selectdb = mysql_select_db($DBNAME);
	if ($selectdb) {
		print "$DBNAME データベースを選択した。&lt;br&gt;";
	
	} else {
		print "$DBNAME データベースを選択できない。&lt;br&gt;";
	}
	
	// MySQL の文字コードを設定
	mysql_query("set names ujis");
	
/*	ここでデーターベースに対するさまざまな処理を実行*/
	//  MySQL とその接続を解除
	$con = mysql_close();
	if ($con) {
		print "MySQL との接続を解除した。&lt;br&gt;";
	
	} else {
		print "MySQL との接続を解除できない。&lt;br&gt;";}
?&gt;
</code>
</pre>
														</div>
										</div>
										</div>
						</section>
								<section class="col2">
								<div id="post03" class="post"> <a href="#post03">
										<h2><span>PHPでの表示</span></h2>
										</a>
												<div class="post_inner">
												<div class="inner">
																<div class="php wd_wrap">
																<?php
	// MySQL に接続
	$con = mysql_connect($DBSERVER, $DBUSER, $DBPASSWORD);
	if ($con) {
		print "MySQL に接続した。<br>";
	
	} else {
		print "MySQL に接続できない。<br>";
	}
	
	// データベース選択
	$selectdb = mysql_select_db($DBNAME);
	if ($selectdb) {
		print "$DBNAME データベースを選択した。<br>";
	
	} else {
		print "$DBNAME データベースを選択できない。<br>";
	}
	
	// MySQL の文字コードを設定
	mysql_query("set names ujis");
	
/*	ここでデーターベースに対するさまざまな処理を実行*/
	//  MySQL とその接続を解除
	$con = mysql_close();
	if ($con) {
		print "MySQL との接続を解除した。<br>";
	
	} else {
		print "MySQL との接続を解除できない。<br>";}
?>
														</div>
														</div>
										</div>
										</div>
						</section>
								
								<!--<section class="col2">
<div id="post04" class="post">
<a href="#post04"><h2><span>FORMでの入力</span></h2></a>
<div class="post_inner">
<div class="inner">
<div>

</div>
</div>
</div>
</div>
</section>-->
								
								<p class="c_top"><a href="../index.html#13">&nbsp;カテゴリートップへ戻る</a></p>
								<section class="bottom clearfix"> <a href="#">
										<p class="page_top">TOP</p>
										</a>
								<div class="share_box">
												<p><span>このサイトをシェアする</span> <a href="https://twitter.com/share" class="twitter-share-button" data-via="webrynote">Tweet</a> 
												<script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0],p=/^http:/.test(d.location)?'http':'https';if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src=p+'://platform.twitter.com/widgets.js';fjs.parentNode.insertBefore(js,fjs);}}(document, 'script', 'twitter-wjs');</script><br>
										<div id="fb-root"></div>
												<script>(function(d, s, id) {
  var js, fjs = d.getElementsByTagName(s)[0];
  if (d.getElementById(id)) return;
  js = d.createElement(s); js.id = id;
  js.src = "//connect.facebook.net/ja_JP/all.js#xfbml=1";
  fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));</script>
												</p>
										</div>
						</section>
								<!--▲.bottom--> 
						</section>
				<!--▲.content-->
				
				<footer>
								<ul>
								<li><a href="http://d.hatena.ne.jp/webry/">実践するWEBサイト制作 | webnote</a></li>
								<li><a href="http://webry.dousetsu.com/images_deta/">はてなデーターの保管庫 | webrynote</a></li>
								<li><a href="http://webrynote.jimdo.com/">動画で確認するscript | FlashとJavaScrip</a></li>
								<li><a href="http://webry.dousetsu.com/">実践でカフェオレを俺流においしく作るサイト | カフェ俺流に作る</a></li>
								<li><a href="https://twitter.com/webrynote">Twitter</a></li>
								<li><a href="https://www.facebook.com/note.webry">Facebook.</a></li>
								<li><a href="http://webry.tumblr.com/">Tumblr</a></li>
						</ul>
								<address>
						Copyright &copy; 2014 webry&nbsp;-&nbsp;『 webサイト開発 | PHPサンプルサイト 』 All Rights Reserved.
						</address>
						</footer>
		</div>
				<!--▲.content_inner--> 
		</div>
<!--▲#container-->

</body>
</html>


表示内容を確認

データベースを開く