「PHPxPostgreSQLで作る最強Webシステム」への正誤表

掲載日場所
2004/06/16 p242 リスト2.18 第3正規形でないリストが誤って掲載されています これが正しいリストです
2004/06/16 p234 下から11行目 ...t1テーブルのi列がt2のi列を... ...t1テーブルのi列がt2テーブルのi列を...
2003/11/29 p133 リスト1.15 43-44行目
    for ($j=0;$j<$colcnt;$j++) {
    $colcnt = pg_num_fields($res);
    $colcnt = pg_num_fields($res);
    for ($j=0;$j<$colcnt;$j++) {
ここから下は第3刷に反映されています。
2003/06/10 p74 下から4行目
session_use_trans_side
session_use_trans_sid
2003/05/24 p84 上から16行目(実際にパッケージを削除する個所)
# rpm --test -e postgresql-jdbc postgresql-libs postgresql-odbc
# rpm -e postgresql-jdbc postgresql-libs postgresql-odbc
2003/04/19 p298の表2.15とp320の表2.16 表2.15と表2.16が入れ替わっています. 表2.15の内容は表2.16, 表2.16の内容は表2.15と見なしてください.
2003/04/19 300ページ リスト2.25のリスト内39行目 丸付き数字10の前に「1」が入っています. 「1」は不要です.
2003/04/19 306ページ リスト2.27のリスト内56行目
1: global $ariginal_query;
global $ariginal_query;
2003/03/29 19ページ表1.1 --enable-trans-sidの説明 php 4.1.2以降--enable-trans-sidは常に有効なので,configureで指定する必要 はなく,この表から削除するのが正解です
2003/03/29 74ページ上から7行目
をURLに追加し,

<a href="foo.php">foo<?=SID?></a><br>

とすればこの部分が?PHPSESSID=380b5... に置き換わります.
をURLに追加し,

<a href="foo.php?<?=SID>">foo?<?=SID?></a><br>

とすればこの部分が?PHPSESSID=380b5... に置き換わります.それ以外にも置き
換えが必要な部分がありますが,リストを参照してください.
2003/03/21 58ページ上から6行目
if ($language = "English") {
if ($language == "English") {
2003/03/21 130-131ページ db_browser.phpについて session_start()の前にHTMLが出ているバグのために,

Warning: Cannot send session cookie -headers already sent by (output started at /usr/local/apache/htdocs/db_browser.php:7) in /usr/local/apache/htdocs/db_browser.php on line 8

のようなエラーが出てしまいます.
修正版のdb_browser.php を置きましたので,差し換えをお願いします(p131 リスト1.13のdb_browser.php も差し換えになります). CD-ROMのdb_browser.tar.gzの差し換え分はこれです.
2003/03/21 330ページ上から7,8行目
AuthUserFile /home/postgres/password
AuthGroupFile /home/postgres/group
AuthUserFile /home/foo/password
AuthGroupFile /home/foo/group
2003/03/15 88ページ囲み[bashの場合] 以下の内容をホームディレクトリに追加します. 以下の内容をホームディレクトリの下の.bashrcにに追加します.
2003/03/15 88ページ囲み[csh/tcshの場合] 以下の内容をホームディレクトリに追加します. 以下の内容をホームディレクトリの下の.cshrcにに追加します.
2003/03/15 247ページ上から12行目 (p.) (p.245の*3)
2003/03/15 247ページ上から13行目 D->とD->T D->CとD->T
2003/03/15 252ページ上から23行目 すると,220よりも大きな値が含まれているので 220よりも大きな値が含まれていれば
2003/03/15 276ページ上から4行目
$ cd ~t-ishii/public_html
$ cd ~t-ishii/public_html/magazine/support
2003/03/15 315ページ下から2行目
LIMIT 1OFFSET
LIMIT 1 OFFSET
2003/03/15 318ページ上から6行目 exec_delete exec_update
2003/03/15 336ページ上から12行目 /usr/local/pgsql/data/test_userh /usr/local/pgsql/data/test_user
2003/03/15 336ページ下から10行目 host all 192.168.1.1 255.255.255.2555 md5 host all 192.168.1.1 255.255.255.255 md5
2003/03/15 337ページ下から2行目 {=arwdRxt,t-ishii=arwdRxt} {=,t-ishii=arwdRxt}
2003/03/15 338ページ上から3行目 ユーザt-ishiiにはSELECT権限が与えられていることがわかります. この文削除
2003/03/15 360ページ上から12行目 $ cd /usr/local/src/postgresql-7.2.2 $ cd /usr/local/src/postgresql-7.2.3
2003/03/15 360ページ下から9行目 $ pgbench -c 150 test $ pgbench -c 150 pgbench
2003/03/15 361ページ上から12行目 README/pgbench.jis README.pgbench.jis
2003/03/15 371ページ上から9行目
postgres -D /usr/local/pgsql/data -O -P template1
postgres -D /usr/local/pgsql/data -O -P test
2003/03/15 371ページ上から11行目
$ REINDEX DATABASE test FORCE
backend> REINDEX DATABASE test FORCE
2003/03/09 66ページ上から9行目
    print ("Hello World!\n");
    return ("Hello World!");
2003/03/09 124ページ上から4行目
pgsql.max_links*MacClients <= max_connections
pgsql.max_links*MaxClients <= max_connections
2003/03/09 156ページ上から3行目 複合 復号
2003/03/09 166ページ上から1行目 PpstgreSQL PostgreSQL
2003/03/09 168ページ上から10-14行目
2002-07-08
7/8/2002
07/08/2002
20020708
020708
2002-07-21
7/21/2002
07/21/2002
20020721
020721
2003/03/09 184ページ上から12,13行目
image_oid OID NOT NULL, -- 画像OID
thumb_oid OID NOT NULL, -- サムネール画像OID
image_oid OID NOT NULL UNIQUE, -- 画像OID
thumb_oid OID NOT NULL UNIQUE, -- サムネール画像OID
2003/03/09 190ページ上から5行目
$ mkdir pubic_html
$ mkdir public_html
2003/03/09 190ページ下から5行目
http://localhost/~t-ishii/phpimage/
http://localhost/~t-ishii/phpimage/index.php
[注: http://localhost/~t-ishii/phpimage/ だけで表示できるようにしたい場 合は,httpd.confの
<IfModule mod_dir.c>
  DirectoryIndex  index.html
</IfModule>
の index.html の後に index.phpを追加してください.こうすると,ディレクト リだけを指定したときに index.html だけでなく,index.php も探すようになり ます. ]
2003/03/09 191ページ上から8行目 .htaccessの設定で
そのディレクトリにある.htaccessの設定で
2003/02/26 39ページリスト1.7
21:  $result = 0;
22:  for ($i = 0; $i < NUMVALS; $i++) {
23:    $v = $_GET["val"];
21:  $result = 0;
22:  $v = $_GET["val"];
23:  for ($i = 0; $i < NUMVALS; $i++) {
2003/02/26 41ページ上から15,28行目
print_r($val)
print_r($val);
2003/02/26 43ページ上から5行目
$n = count($val)
$n = count($val);
2003/02/26 54ページ上から6行目 第1引数は配列のキー値、第2引数は配列要素の値 第1引数は配列要素の値、第2引数は配列のキー値
2003/02/26 54ページ下から1-7行目のdatecmp() usort/uasortの要件は,<第1引数-第2引数>が負,0,正に応じて関数の戻値が負, 0,正になることですので,訂正後の関数がより適当と思われます.
function datecmp($d1, $d2) {
  $ud1 = strtotime($d1);
  $ud2 = strtotime($d2);
  return ($ud1 - $ud2);
}
2003/02/26 55ページ上から2行目 第1引数($d1)と第二引数($d2)が等しければ0,第1引数 > 第2引数ならば1,そうでないなら-1を返す 第1引数($d1)と第2引数($d2)の等しければ0,第1引数 > 第2引数ならば正の値,そうでないなら負の値を返す
2003/02/26 55ページ上から2行目 第1引数と第2引数が等しければ0,第1引数 > 第2引数ならば1,そうでないなら-1を返す 第1引数と第2引数の等しければ0,第1引数 > 第2引数ならば正の値,そうでないなら負の値を返す
2003/02/26 153ページ上から9行目 2.4 デジカメ画像管理アプリケーション 2.5 雑誌記事データベースシステム
2003/02/26 248ページ上から16行目 筆者も本節を執筆するにあたって 筆者も本節を執筆するにあたって
2003/02/26 253ページ上から5行目 バランス バランス
2003/02/26 253ページ上から14行目 発行雑誌-発行日インデックス 発行雑誌_発行日インデックス
2003/02/26 273ページ上から8行目 PHP4組込み PHP4組込み
2003/02/26 282ページ下から1行目 図2.44 図2.35(262ページ)
2003/02/26 302ページ上から1行目 リスト2.26 viewクラス: view.inc リスト2.26 viewクラス: view.inc(ボールドフェイスになってるのが正解です)
2003/02/19 28ページ上から6行目
} else if (条件2)
} else if (条件2) {
2003/02/19 32ページ上から6行目
while ($i <= $_GET["end"])
while ($i <= $_GET["end"]) {
2003/02/19 33ページ上から5行目
while ($i <= $_GET["end"])
while ($i <= $_GET["end"]) ;
2003/02/19 33ページ上から10行目
while ($i <= $_GET["end"])
while ($i <= $_GET["end"]) {
2003/02/18 27ページ上から5行目
http://localhost/test1.php?left=11&right=21
http://localhost/ch1-2.php?left=11&right=21
2003/02/18 27ページリスト1.1 ch1-2.php このままでは引数が設定されません. 正しいスクリプトは以下のようになります.
<?php
// 簡単な足し算スクリプト.引数解釈バージョン
if (isset($_GET["left"]) == FALSE) {
   $left = 10;
} else {
   $left = $_GET["left"];
}
if (isset($_GET["right"]) == FALSE) {
   $right = 20;
} else {
   $right = $_GET["right"];
}
$result = $left + $right;
print ("$left + $right は $result です");
?>
2003/02/09 96ページ上から13行目
/usr/local/php/lib/php.ini
/usr/local/lib/php.ini
2003/02/03 124ページ上から8行目
MacClients = 64
MaxClients = 64
2003/01/26 21ページ上から6行目
# cd /usr/local/src/php-4.2.2
# cd php-4.2.2
2003/01/26 93ページ囲み「Linuxの場合」
# cd /mnt/cdrom/contents/ch1/postgres.sh
/etc/rc.d/init.d/postgres
# cd /mnt/cdrom/articles/ch1/postgres.sh
/etc/rc.d/init.d/postgres
2003/01/26 276ページ上から2行目
$ created -E EUC_JP webdb
$ createdb -E EUC_JP webdb
2003/01/25 364ページ表 "toast_blks_hit" の説明 インデックスからの読み出しがキャッシュヒットした回数 TOASTブロックからの読み出しがキャッシュヒットした回数
2003/01/08 29ページ注1 boid void