[PHP-users 28958] MySQL へ SQL 発行で 1046:DB Error: no database selected

rirakkuma2003@yahoo.co.jp rirakkuma2003 @ yahoo.co.jp
2006年 4月 7日 (金) 21:36:42 JST


初めて投稿させていただきます。
すみませんがお知恵をお借りいたしたく、切にお願い申し上げ
ます。

MySQLのテーブルにSQLを発行すると、DB Error: no database
selected
が発生してしまいます。
この原因がどうしても分からずにはまっております。

1.データベースを開きます。
$this->_db = DB::connect($dataSource, TRUE);
if (PEAR::isError($this->_db)) {
	print_r($this->_db);
}
この時点でエラーは発生しません。
またデータベース接続子は次のように宣言しています。
$dataSource = array(
    'phptype'  => DB_TYPE,
    'username' => DB_USER_USER,
    'password' => DB_PASS_USER,
    'hostspec' => DB_HOST,
    'database' => DB_NAME,
);
別の定数をはめており、設定内容は問題ないです。

2.SQLを発行します。
$res = $db->query("insert into `accessp` ( `sessid` ,
`acctime` , `pageno` ) values 'a', NULL, '1' ");
if (PEAR::isError($res)) {
	print_r($res);
}
ここでエラーが発生してしまいます。
テーブルにはセッションIDとタイムスタンプを入れる目的で用
意しており、今回は適当な値をはめて試しております。データ
属性には問題ありません。

エラーの内容ですが、あまりに長いので小分けしますが、
db_error Object ( [error_message_prefix] => [mode] => 1
[level] => 1024 [code] => -14 [message] => DB Error: no
database selected [userinfo] => insert into `accessp` (
`sessid` , `acctime` , `pageno` ) values 'a', NULL, '1'
[nativecode=**] [backtrace] => Array ( [0] => Array (
[file] => C:\Program Files\xampp\php\pear\DB.php [line] =>
888 [function] => pear_error [class] => db_error [type] =>


というエラーが出ているのですが、ログを追っていくと、
[connection] => [dsn] => Array ( [phptype] => mysql
[dbsyntax] => mysql [username] => user [password] => pass
[protocol] => [hostspec] => localhost [port] => [socket]
=> [database] => testdb ) 

ちゃんと接続されているように見えます。

データベースは指定できているのに、指定されないとエラーが
出てしまっているようで、さっぱりわからないのです。
データベース、テーブルともに実在しています。

すみませんが、よろしくお願いいたします。

--------------------------------------
Celebrate Yahoo! JAPAN 10th Anniversary
http://pr.mail.yahoo.co.jp/10thann/


PHP-users メーリングリストの案内