* 【Zend Framework】ページ移動で Hello Worldまでいったので、データベースを使えるようにする
http://blogs.yahoo.co.jp/dk521123/24269539.html
http://blogs.yahoo.co.jp/dk521123/24269539.html
環境設定編
http://bali.sakura.ne.jp/%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0/%E3%81%95%E3%81%8F%E3%82%89%E3%82%A4%E3%83%B3%E3%82%BF%E3%83%BC%E3%83%8D%E3%83%83%E3%83%88%E3%81%A7pdo_mysql/を参考に設定。ただ、現在(2011/05/22)では、↑より、さくらインターネットの対応が良くなっている模様。
実際に行った手順
余計な処理も入ってるかも。(1) ↓の時に使用したSSHクライアントソフト(Poderosa)を立ち上げ、さくらサーバに接続し、以下のコマンドを入力し、pearはバージョン5となっていることを確認 pear config-showhttp://blogs.yahoo.co.jp/dk521123/24109404.html
(2) PECLでPDOモジュールを探し(「pecl search pdo」)、その後に以下のコマンドを入力する。(無事に終われば、SSHクライアントソフトを閉じていい) cd PDO_MYSQL phpize ./configure make* 詳しくは以下。
http://bali.sakura.ne.jp/%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0/%E3%81%95%E3%81%8F%E3%82%89%E3%82%A4%E3%83%B3%E3%82%BF%E3%83%BC%E3%83%8D%E3%83%83%E3%83%88%E3%81%A7pdo_mysql/
(3) php.iniに以下を追加する。 extension_dir = /home/【ドメイン名】/lib/php extension=pdo_mysql.so extension=php_pdo.dll extension=php_pdo_mysql.dll
準備編
さくらサーバのサーバコントロールパネルから、[データベースの設定]-[管理ツールログイン]から、phpMySQLAdminを開き、テスト用のテーブル・データを作成する。* 今回は、以下のサイトのテーブルとデータを利用する
http://codezine.jp/article/detail/1961?p=3
CREATE TABLE message_board( id int primary key, message varchar(100) ) INSERT INTO message_board VALUES(1, 'Hello, world!'); INSERT INTO message_board VALUES(2, 'How are you?');※さくらサーバのデータベースは、1個だけ
サンプル
[1] Zend Frameworkを使わずに、参照する
helloWorld.php
<html><body> <?php $connect = mysql_connect( "【DB サーバ】", "【DBユーザ名】", "【DBパスワード】" ); if( $connect == false ) { die("MySQL connextion error"); } mysql_set_charset( "utf8" ); mysql_select_db( "naonosekicho" ); $sql = " SELECT * FROM message_board "; $res = mysql_query( $sql ); while( $row = mysql_fetch_array( $res ) ) { print("<p>" . $row["id"] . "</p>"); print("<p>" . $row["message"] . "</p>"); } mysql_free_result($res); mysql_close(); ?> </body></html>
[2] Zend Frameworkを使って、参照する
helloWorld2.php
http://codezine.jp/article/detail/2449?p=2<?php require_once 'Zend/Db/Adapter/Pdo/Mysql.php'; $db_info = array('host' => '【DB サーバ】', 'username' => '【DBユーザ名】', 'password' => '【DBパスワード】', 'dbname' => '【DB名】'); $db = new Zend_Db_Adapter_Pdo_Mysql($db_info); $sql = "SELECT message FROM message_board"; $result = $db->fetchAll($sql); foreach ($result as $row) { echo $row['message'] . '<br/>'; }