- Home ›
- PEAR入門 ›
- データベース接続(PEAR::DB) ›
- HERE
MySQLへの接続
ではまずMySQLへ接続してみます。
事前にMySQLへ"uriage"と言う名前のデータベースを作成してあります。また"uriage"データベース内に"shouhin"テーブルを作成し、初期データを入れてあります。
またこのデータベースへ接続してSQL文を発行するためのユーザーとして「testuser@localhost」というユーザーを作成しました(パスワードは「testuser」)。このユーザーに対する権限は下記のようにグローバル権限は無しで、「uriage」データベースに対する全ての権限を与えています。
この場合のDSNは「mysqli://testuser:testuser@localhost/uriage」となります。(mysqlではなくmysqliの方を使っています)。
サンプルプログラム
では実際に試してみます。
<html>
<head><title>PHP TEST</title></head>
<body>
<?php
require_once 'DB.php';
$dsn = 'mysqli://testuser:testuser@localhost/uriage';
$db = DB::connect($dsn);
if (PEAR::isError($db)) {
die($db->getMessage());
}
print('接続に成功しました');
$db->disconnect();
?>
</body>
</html>
上記をWWWサーバに設置しブラウザで見てみると下記のようにエラーとなりました。
「extension not found」と言うエラーです。これはphp.iniのextensionの箇所に「extension=php_mysqli.dll」が無いためでした。「mysql」ではなく「mysqli」を使うには記述が必要なようです。
上記のようにphp.iniに記述を追加しました。
設定変更後、WWWサーバを再起動して改めて見てみると今度は成功しました。
( Written by Tatsuo Ikura )
PHPBook