今日は進めません。 | 元気ハツラツtamagoです

元気ハツラツtamagoです

PC前を住処にしている主婦でございます。

昨日からの頭痛(頭痛モチではありません)で、今日もまったくPCは触れていませんww

ってなわけですが、先日やっていたところがどうしても解決していないので、少しマシになったので今再チャレンジ中ですが、ダメですw

作って覚えるPHP+MySQLアプリケーション―ブログ、ショッピングサイトからマッシュアップまで/藤本 壱
¥2,310
Amazon.co.jp

でSQLの基本を読み終え、phpMyAdminでの文字化けも解消されたんですが、次PHPでデータベースにアクセスするというところで、またしても躓いていますww

コードはですね。
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>データベースへの例</title>
</head>
<body>
<form method="post" action="dbtest.php">
<table>
<tr><td>都道府県</td><td><input type="text" name="pref" value="<?php print(htmlspecialchars($_POST['pref'])); ?>" /></td></tr>
<tr><td>性別</td><td><input type="text" name="sex" value="<?php print(htmlspecialchars($_POST['sex'])); ?>"/></td></tr>
</table>
<input type="submit" value="送信" />
</form>
<?php
// 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' => '*********',
'hostspec' => 'localhost',
'database' => 'testdb',
);

// オプションの設定
$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);

// プリペアド・ステートメントの準備
$sql = 'select * from address where pref = ? and sex = ?';
$type = array('text', 'text');
$sth = $mdb2->prepare($sql, $type);

// プリペアド・ステートメントの実行
$data = array($_POST['pref'], $_POST['sex']);
$res = $sth->execute($data);
if (PEAR::isError($res)) {
exit('selectに失敗しました');
}

// レコードの内容を表示
print("<table border=\"1\">\n");
print("<tr>");
print("<th>名前</th><th>性別</th><th>都道府県</th><th>住所</th><th>電話番号</th>");
print("</tr>");
while ($data = $res->fetchRow()) {
print("<tr>\n");
print("<td>" . $data['name'] . "</td>");
print("<td>" . $data['sex'] . "</td>");
print("<td>" . $data['pref'] . "</td>");
print("<td>" . $data['address'] . "</td>");
print("<td>" . $data['phone'] . "</td>");
print("</tr>\n");
}
print("</table>\n");

// 接続を切る
$mdb2->disconnect();
?>
</body>
</html>

このコードをブラウザで開くと
 
「データベースへの接続に失敗しました 

ヽ(´Д`;)ノアゥア...