「php06」の編集履歴(バックアップ)一覧はこちら
php06 - (2012/01/31 (火) 16:32:05) の1つ前との変更点
追加された行は緑色になります。
削除された行は赤色になります。
[[前のページ>php09]] < | > [[次のページ>php07]]
*(9) PHPでデータベースを操作する
・&bold(){操作イメージ}
PHPはサーバーサイドスクリプトである。
|BGCOLOR(#FFDAB9):スクリプト|
SQLの結果↑↓SQLのコマンド
|BGCOLOR(#FFDAB9):PHPエンジン|
SQLの結果↑↓SQLのコマンド
|BGCOLOR(#FFDAB9):(MySQL)データベースエンジン|
結果↑↓コマンド
|BGCOLOR(#ccffcc):データベース|
・&bold(){PEAR MDB2を使ったアクセス}
・・PHPからデータベースにアクセスする方法がいくつかあるが、その一つがPEAR MDB2を使う方法である。(MDBのバージョンアップ版)
・・PEAR MDB2を使うとデータベース管理システム(MySQLやPostgreSQL、SQLite等)に依存しないコードを書くことができる。
・・接続手順
+ データベースに接続
+ SQLを発行する
+ SQLの結果を受け取って処理する
+ 接続を切る
・REAR MDB2を導入しようとしてつまずきました。どうやら、PHP 4.3.0 以降、./configure に --without-pear オプションを指定しない限り、 &color(red){PEAR パッケージマネージャは (PHP と共に) インストールされるようです。}
・&bold(){準備}
・・InnoDBを有効にする。my.cnfの「skip-innodb」をコメントアウトし、その下のInnoDBの設定を有効にしておく。私の環境ではすでにこの状態でした。
> #skip-innodb #InnoDBの設定をスキップしない
> # Uncomment the following if you are using InnoDB tables
> #InnoDBのためのファイルの格納場所
> innodb_data_home_dir = C:/xampp/mysql/data/
> #InnoDBのためのファイルの初期サイズと拡張方法(ここでは自動)
> innodb_data_file_path = ibdata1:10M:autoextend
> innodb_log_group_home_dir = C:/xampp/mysql/data/
> innodb_log_arch_dir = C:/xampp/mysql/data/
・&bold(){接続しよう。}
・・下記のスクリプトを実行しよう。(ユーザ名、パスワード他は自分で入れなおしてください。phpMyadminにログインする際と同じです。)
#region(close, ←クリックで開く)
# データベースを作成
CREATE DATABASE mydb DEFAULT CHARACTER SET utf8;
# アクセス権限の設定(ユーザ名はtest、パスワードはpass)
GRANT ALL ON mydb.* to test@localhost IDENTIFIED BY 'pass';
# テーブルを作成(トランザクションを使うため、エンジンはInnoDBにする)
USE mydb;
CREATE TABLE books(
id INT AUTO_INCREMENT PRIMARY KEY,
title TEXT NOT NULL,
publisher VARCHAR(50) DEFAULT '' NOT NULL,
year INT DEFAULT 0 NOT NULL,
price INT DEFAULT 0 NOT NULL
) ENGINE=InnoDB;
#endregion
#co(){{
・・また、Macを使用している方は、
> $pear_path = 'c:/xampp/php/PEAR';
を、
> $pear_path = '/Applications/xampp/xamppfiles/lib/php/pear';
に変更してください。
//#region(close,←クリックで開く)
# MDB2クラスの組み込み
$pear_path = 'c:/xampp/php/PEAR';
set_include_path(get_include_path() . PATH_SEPARATOR . $pear_path);
require_once('MDB2.php');
# DSNの設定
$dsn = array(
'phptype' => 'mysql',
'username' => 'root', #ユーザ名
'password' => 'pass', #パスワード
'database' => 'testdb', #データベース名
'hostspec' => 'localhost', #ホスト名
);
# オプションの設定
$options = array(
'portability' => MDB2_PORTABILITY_ALL,
);
# 接続
$mdb2 =& MDB2::connect($dsn, $options);
if (PEAR::isError($mdb2)) {
exit('データベースへの接続に失敗しました');}
# 初期化
$sql = 'set names utf8';
$res =& $mdb2->query($sql);
$mdb2->setFetchMode(MDB2_FETCHMODE_ASSOC);
# 接続を切る
$mdb2->disconnect();
//#endregion
}}これで完了です。
※ XAMPP 1.7.7 [PHP: 5.3.8] での設定項目です。
※ 参考サイト:ttp://codezine.jp/article/detail/2480
----
#center(){[[前のページ>php05]] < | > [[次のページ>php07]]}
#center(){◆ ◆ ◆}
----
[[前のページ>php09]] < | > [[次のページ>php07]]
*(9) PHPでデータベースを操作する
・&bold(){操作イメージ}
PHPはサーバーサイドスクリプトである。
|BGCOLOR(#FFDAB9):スクリプト|
SQLの結果↑↓SQLのコマンド
|BGCOLOR(#FFDAB9):PHPエンジン|
SQLの結果↑↓SQLのコマンド
|BGCOLOR(#FFDAB9):(MySQL)データベースエンジン|
結果↑↓コマンド
|BGCOLOR(#ccffcc):データベース|
・&bold(){PEAR MDB2を使ったアクセス}
・・PHPからデータベースにアクセスする方法がいくつかあるが、その一つがPEAR MDB2を使う方法である。(MDBのバージョンアップ版)
・・PEAR MDB2を使うとデータベース管理システム(MySQLやPostgreSQL、SQLite等)に依存しないコードを書くことができる。
・・接続手順
+ データベースに接続
+ SQLを発行する
+ SQLの結果を受け取って処理する
+ 接続を切る
・REAR MDB2を導入しようとしてつまずきました。どうやら、PHP 4.3.0 以降、./configure に --without-pear オプションを指定しない限り、 &color(red){PEAR パッケージマネージャは (PHP と共に) インストールされるようです。}
・&bold(){準備}
・・InnoDBを有効にする。my.cnfの「skip-innodb」をコメントアウトし、その下のInnoDBの設定を有効にしておく。私の環境ではすでにこの状態でした。
> #skip-innodb #InnoDBの設定をスキップしない
> # Uncomment the following if you are using InnoDB tables
> #InnoDBのためのファイルの格納場所
> innodb_data_home_dir = C:/xampp/mysql/data/
> #InnoDBのためのファイルの初期サイズと拡張方法(ここでは自動)
> innodb_data_file_path = ibdata1:10M:autoextend
> innodb_log_group_home_dir = C:/xampp/mysql/data/
> innodb_log_arch_dir = C:/xampp/mysql/data/
**「Welcome home!」を表示させよう。
一般的に「Hello world!」を表示させるのが普通だけども、
「Welcome home(おかえり!)」を表示させたいと思う。
以前PHPをやろうとして挫折した自分への「お帰り」の挨拶である。…。
&bold(){●Apacheの動作を確認する}
XAMPP Control Panelを立ち上げ、「Apache」「MySql」をStartさせておく。
次に、[[http://localhost/>http://localhost/]]にアクセスする。
&bold(){●下記のスクリプトを保存しよう。}
保存先:C: > xampp > htdocsの中に、test.phpという名前で保存する。
#region(close, ←クリックで開く)
<?php
print "Welcome home! あ";
?>
#endregion
保存したら、ブラウザのアドレス欄に下記を入力して実行する。
[[http://localhost/test.php>http://localhost/test.php]]
もし表示されないときは
#co(){{
・・また、Macを使用している方は、
> $pear_path = 'c:/xampp/php/PEAR';
を、
> $pear_path = '/Applications/xampp/xamppfiles/lib/php/pear';
に変更してください。
//#region(close,←クリックで開く)
# MDB2クラスの組み込み
$pear_path = 'c:/xampp/php/PEAR';
set_include_path(get_include_path() . PATH_SEPARATOR . $pear_path);
require_once('MDB2.php');
# DSNの設定
$dsn = array(
'phptype' => 'mysql',
'username' => 'root', #ユーザ名
'password' => 'pass', #パスワード
'database' => 'testdb', #データベース名
'hostspec' => 'localhost', #ホスト名
);
# オプションの設定
$options = array(
'portability' => MDB2_PORTABILITY_ALL,
);
# 接続
$mdb2 =& MDB2::connect($dsn, $options);
if (PEAR::isError($mdb2)) {
exit('データベースへの接続に失敗しました');}
# 初期化
$sql = 'set names utf8';
$res =& $mdb2->query($sql);
$mdb2->setFetchMode(MDB2_FETCHMODE_ASSOC);
# 接続を切る
$mdb2->disconnect();
//#endregion
}}これで完了です。
※ XAMPP 1.7.7 [PHP: 5.3.8] での設定項目です。
※ 参考サイト:ttp://codezine.jp/article/detail/2480
----
#center(){[[前のページ>php09]] < | > [[次のページ>php07]]}
#center(){◆ ◆ ◆}
----