[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 メーリングリストの案内