電子書籍の厳選無料作品が豊富!

いつもお世話になっています。
pear と phpを使ったclassを勉強しており
行き詰った点があったので教えてください。
**** class.php ************************

require_once("DB.php");

class DB_Class{

var $db_object;//DB::connectが入る
var $db = "mysql";
var $db_user = "user";
var $db_host = "localhost";
var $db_name = "db_name";
var $pass = "pass";

function DB_Class(){ //コンストラクタ

$db_string = $this->db."://".$this->db_user.":".$pass."@".$this->db_host."/".$this->db_name;

$this->db_object = DB::connect($db_string);


}

}

**** test.php ********************************

require_once("class.php");
$obj = new DB_Class();

$sql = "select * from TEST_TABLE";

$res = $obj->db_object->query($sql);

while($row =$res->fetchRow(DB_FETCHMODE_ASSOC)){

print("<td>".$row["TEST"]."</td>");

}

class.phpファイルのメンバ変数
var $db_objectにDB::connectが入っており、
test.phpでfetchRowを使ってDBの内容を
取り出したいのですが、
fetchRowメソッドが見つからないというエラー
がでます。
それまでのqueryメソッドまではエラーがなく
呼び出せます。

while($row =$res->fetchRow(DB_FETCHMODE_ASSOC))
ここを
$res->$obj->db_object->fetchRowや
$res->$obj->$this->DB_object->fetchRowや
とにかく色々な方法を試してみたのですが
うまくいきませんでした。

どなたかご教授お願い致します。

A 回答 (1件)

単にqueryの結果がDB_result型ではない、つまりTEST_TABLEが存在しないなどの理由でエラーが起きているのではないでしょうか。



$res = $obj->db_object->query($sql);
if (DB::isError($res)) die($res->getMessage());
while($row =$res->fetchRow(DB_FETCHMODE_ASSOC)){
    • good
    • 0
この回答へのお礼

なんだか、記述が間違ってる箇所があったようです。
すみません。ありがとうございました。

お礼日時:2005/02/15 15:57

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!