いますぐ導入!PHP+MySQLで作る最速Webシステム

サポートページ

補足情報

1.MySQLが操作しない場合の再インストール

MySQLのインストール後にエラーが発生して起動できない場合、MySQLのアンインストール→再度MySQLをインストールによって正常に動作するようになったとの報告があります。その際、以下のような操作が必要になります(これは[プログラムの追加と削除]からはC:\mysqlフォルダとmy.iniファイルを削除できないためです)。

[1]コントロールパネルの[プログラムの追加と削除]からMySQLをアンインストールする

[2]コンピュータを再起動する

[3]MySQLをインストールしたフォルダ(既定ではC:\mysql)を手動で削除する

[4]my.iniファイル(既定ではC:\WINDOWS\my.ini)を手動で削除する

[5]もう一度コンピュータを再起動する

[6]MySQLをインストールする

[7]文字コードの設定(P48)を行う

[7]の文字コードの設定を間違えると、再起動時にエラーが発生してMySQLのサービスを開始できなくなる場合があるのでご注意ください。

2.MySQLのユーザ名とパスワードについて

インストーラからMySQLをインストールした場合、通常はユーザ名とパスワードの入力を求められることはありません。ただし、インストール後にmy.iniファイルを削除(または移動)した状態でMySQL Adminツールが起動すると、最初にユーザ名とパスワードを求めるダイアログボックスが表示されます。この場合、空欄のまま[Cancell]ボタンを押せば大丈夫です。この後、C:\WINDOWSフォルダ内に新たにmy.iniファイルが作られます。

また、アンチウィルス/セキュリティソフトの設定のほか、Windows XPサービスパック2のファイヤーウォールの設定によっても、上記のダイアログボックスが表示される場合があるようです。

php_mbstring.dllについて補足

本書の発売以降、PHPは何度かバージョンアップが行われております。本書152ページでphp_mbstring.dllのインストール方法を紹介しております。

このphp_mbstring.dllは、PHPの各バージョンによって使用すべきものが異なる模様です。こちらでも確認しましたが、あるバージョンのPHP用のphp_mbstring.dllを別バージョンのPHPで使用するといったことはできません。

本書の付属CD-ROMにはPHP4.3.2が収録されております。これをインストールした場合、PHPのサイトからは「PHP4.3.2のバイナリファイル」をダウンロードする必要があります。

[1]PHPのダウンロードサイトにアクセスします。

[2]左側にある「Information about older releases …」と書かれたカコミの部分で、文末の「our releases page.」という部分をクリックします。

[3]「Unsupported Historical Releases」というタイトルのページが表示されるので、「4.3.2」という見出しの部分までスクロールダウンさせます。

[4]「Download:」の行(4行目)にある「Windows binary」という部分をクリックすると、PHP4.3.2のバイナリファイルのダウンロードが開始されます。

※手順[4]でダウンロードされるファイルは「php-4.3.2-Win32.zip」です。「Windows installer」をクリックすると、php_mbstring.dllを含まないインストーラファイル(php-4.3.2-installer.exe)がダウンロードされるので注意してください。

これでP152の手順(1)の操作が完了したことになりますので、続いてP153の(2)の操作を行ってください。

お詫びと訂正(正誤表)

本書には以下のような修正があります。当方の不手際により、ご迷惑をおかけしたことをお詫びいたします。

なお、プログラムのリストについては、CD-ROMに収録したものは正常ですので、そちらは修正しなくても動作します。

※以下の訂正は、初版第3刷(2005年1月5日発行)以降では適用されています。奥付(448ページ)をご確認ください。

P.218 表3-4-1

「datetime」は「実数」ではなく「日付/時刻」に分類されます

「char(*)」は「日付/時刻」ではなく「文字列」に分類されます

P.222 表3-4-2

「フィールド名の変更」で以下のように訂正があります。

…column fax faxnum
…column fax faxnumvarchar(13)

P.262 表3-4-65~表3-4-67

それぞれ、真中の行の「テーブルA.顧客コード」は「テーブルB.顧客コード」の誤りです。

P.280 リスト3-5-2の中央付近


 :
$body = "<TABLE border='1' cellpadding
='2' cellspacing='0'>
<tr>
<th bgcolor='#00CCCC'>ISBN</th>
<th bgcolor='#00CCCC'>タイトル</th>
<th bgcolor='#00CCCC'>価格</th>
<th bgcolor='#00CCCC'>発売日</th>
<tr>\n";
 :
 :
$body = "<TABLE border='1' cellpadding
='2' cellspacing='0'>
<tr>
<th bgcolor='#00CCCC'>ISBN</th>
<th bgcolor='#00CCCC'>タイトル</th>
<th bgcolor='#00CCCC'>価格</th>
<th bgcolor='#00CCCC'>発売日</th>
</tr> \n";

P.282 リスト3-5-3の上から7行目

:
<tr>\n";
:
</tr>\n";

P.283 リスト3-5-4の最下行

$body .= "<tr>\n";

$body .= "</tr>\n";

P.290 リスト3-5-10

・下段にはみ出ている、以下の2行もリストに含まれています。

	:
$con = mysql_close($con);
?>

P.312 リスト4-2-2の上から3行目

P.316リスト4-3-1の下から3行目、P.320リスト4-3-2の下から4行目

:
<tr>\n";
:
</tr>\n";

管理者のメールアドレスの設定について

P430の「新規投稿を管理者にメールで知らせる」で、リスト5-2-39のようにphp.iniに修正を加えた後、smp5-24reg.php(リスト5-2-40)でも以下の個所を変更してください。この変更をしないと、掲示板に新規投稿があったことを知らせるメールが管理者に届きません。

P.312 リスト4-2-2の上から3行目

P.316リスト4-3-1の下から3行目、P.320リスト4-3-2の下から4行目

//SQL文を発行します
$rst = mysql_query($sql, $con);
if ($rst) {
//成功したとき
$body = "<B>掲示板への新規投稿を完了しました。</B>";
//宛先のメールアドレスを設定します
$mailto   = "xxxx@xxxx.xxx.xxx"; <-この行

上記の行の「xxxx@xxxx.xxx.xxx」を管理者のメールアドレス(リスト5-2-39で「発信元のメールアドレス」として設定したものと同じ)に変更します。

なお、完成版のプログラムの「smp5-26reg.php」内にも同様の個所があるので、同じように変更してください。smp5-26reg.phpのファイルはCD-ROMに収録していますが、本文中にリストは掲載していません.