a.php文件
function bbslink($p=0)
{
$objDB=new DBClass();
$objDB->connect('bbsu','na','ppsu','gbk');//数据库名,数据库用户名,数据库密码
return $objDB;
}DBClass类文件中的相关方法
public function connect($dbname,$dbuser, $dbpw, $dbcharset = '', $dbhost='localhost', $pconnect = 0) 
{
if($pconnect) 
{
if(!$this->link = mysql_pconnect($dbhost, $dbuser, $dbpw)) {
$this->halt('Can not connect to MySQL server');
}
} else {
if(!$this->link = mysql_connect($dbhost, $dbuser, $dbpw, 1)) {
$this->halt('Can not connect to MySQL server');
}
} if($this->version() > '4.1') { if($dbcharset) {
mysql_query("SET character_set_connection=".$dbcharset.", character_set_results=".$dbcharset.", character_set_client=binary", $this->link);
} if($this->version() > '5.0.1') {
mysql_query("SET sql_mode=''", $this->link);
}
} if($dbname) {
mysql_select_db($dbname, $this->link);
}
}//end function
-----------
现 在a页面中运行 bbslink($p=0); 会报错并提示   Object of class DBClass could not be converted to string 
问:
  (注:有些环境下是ok的,上面的报错是另一环境下)
      这是什么问题,怎么处理

解决方案 »

  1.   

    检查一下DBClass类文件的路径是否正确
      

  2.   

    a文件与DBClass类就在同一目录
    路径不会有问题的,应该是其它的问题,大家再帮我想下,
      

  3.   

    应该是php4和php5的区别吧,
    php4
    function &bbslink($p=0)
    {
    $objDB=new DBClass();
    $objDB->connect('bbsu','na','ppsu','gbk');//数据库名,数据库用户名,数据库密码
    return $objDB;
    }
      

  4.   

    你的bbslink 有返回值的,
    是试试$obj=bbslink($p)
      

  5.   

    fatal error: Object of class  could not be converted to string 出错的地方是注释处,出错原因:$Object->$this->currentMethodName();这里,$this->currentMethodName的变量是giftService,但生成的$Object会把他理解为$Object的变量,故出此错误。把 $this->currentMethodName 改成 $currentMethodName就可以了。这里,$Object会理解为外部的变量,而不是其内部的。
    <?php
    include_once('common.php');class giftService extends common
    {
     public $currentLibClass = null;
     function __construct()
     {
      parent::__construct();
      $this->currentLibClass = substr(__CLASS__,0,-7); 
      include_once( $this->currentLibClass.".methodTable.php");
     }   function giftFriend($PlayerId,$TaskID)
     {
       $currentMethodName = $this->getCurrentMethod(__FUNCTION__);   
       $Object = $this->create($this->currentLibClass,array('PlayerId'=>$PlayerId,'TaskID'=>$TaskID));
      # return $Object->$this->currentMethodName(); return $Object->$currentMethodName(); }
     function __destruct(){ }
    }
    ?>---------------------------------------------------------------------------------------------
    http://www.jiemengwu.com/ 解梦屋 http://www.phpzy.com/php/ 绿色php资源http://www.shopfw.com网店服务
      

  6.   

    link
    (PHP 4, PHP 5)link — 建立一个硬连接说明
    bool link ( string $target , string $link )
    link() 建立一个硬连接。成功时返回 TRUE, 或者在失败时返回 FALSE. Note: 此函数不能作用于远程文件,被检查的文件必须是可通过服务器的文件系统访问的。Note: 此函数未在 Windows 平台下实现。
      

  7.   

    if($pconnect)  
    {
    if(!$this->link = mysql_pconnect($dbhost, $dbuser, $dbpw)) {
    $this->halt('Can not connect to MySQL server');
    }
    } else {
    if(!$this->link = mysql_connect($dbhost, $dbuser, $dbpw, 1)) {
    $this->halt('Can not connect to MySQL server');
    }
    }
    这部分硬连接和数据库持久连接的代码有问题
      

  8.   


    发错了,建议不要使用数据库持久连接,容易出现性能和稳定方面的问题,改成非持久连接的方式试一下:mysql_connect
    (PHP 4, PHP 5)mysql_connect — 打开一个到 MySQL 服务器的连接说明
    resource mysql_connect ([ string $server [, string $username [, string $password [, bool $new_link [, int $client_flags ]]]]] )
    打开或重复使用一个到 MySQL 服务器的连接。 参数server 
    MySQL 服务器。可以包括端口号,例如 "hostname:port",或者到本地套接字的路径,例如对于 localhost 的 ":/path/to/socket"。 如果 PHP 指令 mysql.default_host 未定义(默认情况),则默认值是 'localhost:3306'。 username 
    用户名。默认值是服务器进程所有者的用户名。 password 
    密码。默认值是空密码。 new_link 
    如果用同样的参数第二次调用 mysql_connect(),将不会建立新连接,而将返回已经打开的连接标识。参数 new_link 改变此行为并使 mysql_connect() 总是打开新的连接,甚至当 mysql_connect() 曾在前面被用同样的参数调用过。 client_flags 
    client_flags 参数可以是以下常量的组合:MYSQL_CLIENT_SSL,MYSQL_CLIENT_COMPRESS,MYSQL_CLIENT_IGNORE_SPACE 或 MYSQL_CLIENT_INTERACTIVE。进一步信息见MySQL 客户端常量。 
    返回值
    如果成功则返回一个 MySQL 连接标识,失败则返回 FALSE。 
      

  9.   

    没用this->了
    全用mysql自带的方法进行的,