2006年4月 7日

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

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

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 mailing list PHP-users@xxxxx
http://ns1.php.gr.jp/mailman/listinfo/php-users
PHP初心者のためのページ - 質問する前にはこちらをお読みください
http://www.php.gr.jp/php/novice.php3

投稿者 xml-rpc : 2006年4月 7日 21:36
役に立ちました?:
過去のフィードバック 平均:(0) 総合:(0) 投票回数:(0)
本記事へのTrackback: http://hoop.euqset.org/blog/mt-tb2006.cgi/34515
トラックバック
コメント
コメントする




画像の中に見える文字を入力してください。