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

rirakkuma2003@yahoo.co.jp rirakkuma2003 @ yahoo.co.jp
2006年 4月 7日 (金) 22:29:44 JST


すみません。自己レスいたします。
phpファイル単体でオープンからクローズまで行った場合は
正しく操作できました。

$hostname = "localhost";
$userid = "user";
$password = "pass";
$database = "testdb";

$link = mysql_connect($hostname,$userid,$password) or
die("<b>[error] Could not connect :</b> ".mysql_error());
echo "<b>[OK] Connected successfully.</b><br>\n";

mysql_select_db($database) or die("<b>[error] select_db
failed :</b> ".mysql_error()); 
echo "<b>[OK] select_db succeeded.</b><br>\n";

mysql_query("select * from carsales_t_accessp",$link) or
die("<b>[error] select failed :</b> ".mysql_error()); 
echo "<b>[OK] select succeeded.</b><br>\n";

mysql_close( $link ) or die("<b>[error] close failed :</b>
".mysql_error()); 
echo "<b>[OK] close succeeded.</b><br>\n";


require_once 'DB.php';
$dataSource = array(
    'phptype'  => "mysql",
    'username' => $userid,
    'password' => $password,
    'hostspec' => $hostname,
    'database' => $database,
);
$link = DB::connect($dataSource, TRUE);
if (PEAR::isError($link)) {print "<b>[error] Could not
connect :</b><br>".$link;} else {print "<b>[OK] Connected
successfully.</b><br>";}

$res = $link->query("select * from accessp");
if (PEAR::isError($res)) {print "<b>[error] select failed
:</b><br>"; print_r($res);} else {print "<b>[OK] select
successfully.</b><br>";}
	
$link->disconnect();
if (PEAR::isError($link)) {print "<b>[error] close failed
:</b><br>".$link;} else {print "<b>[OK] close
successfully.</b><br>";}

結果:
[OK] Connected successfully.
[OK] select_db succeeded.
[OK] select succeeded.
[OK] close succeeded.
[OK] Connected successfully.
[OK] select successfully.
[OK] close successfully.

現在、Smartyを使ってMVCチックに作ろうとしているのですが
、
Smartyの派生クラスでDBオープンをして、そのDBを使って
処理しようとしてエラーになっているようですから、
クラスの関係について見直してみようと思います。

無駄な投稿してしまいすみませんでした。

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


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