【问题标题】:How to access PDO database connection object in another class in php?如何在 php 中访问另一个类中的 PDO 数据库连接对象?
【发布时间】:2013-07-04 21:18:34
【问题描述】:

我在我的项目中使用 PDO,所以我的 PDO 与数据库的连接是成功的,但是当我在另一个类系统中访问 PDO 对象时遇到如下错误

可捕获的致命错误:无法将 PDO 类的对象转换为字符串

以下是我的数据库连接类

class DBConnect
{
    public static function getDB()
    {

        try {

                $dsn    = DTConfig::dbtype.":host=".DTConfig::host.";dbname=".DTConfig::db;
                $user   = DTConfig::user;
                $dbname = DTConfig::password;

                $db = new PDO($dsn,$user,$dbname);
                $db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

        } catch(PDOException $e) {

            echo 'ERROR: ' . $e->getMessage();

        }   

        return $db;     
    }
}

在下面的代码中,我想访问 PDO 对象,但出现“无法在第 5 行将类 PDO 的对象转换为字符串”之类的错误

class Administrator{

    function __construct(){

         $db = DBConnect::getDB(); //line 5 - This is not working 
         //echo $db;die;
    }

任何人请建议我回答 提前致谢

【问题讨论】:

  • 错误发生时是echo $db;未注释,因为一个实例至少应该是var_dump-ed

标签: php pdo


【解决方案1】:

我刚刚尝试过,当我尝试回显 PDO 对象时,我得到了同样的错误。

替换

echo $db;

与:

var_dump($db);

【讨论】:

  • 我不想打印 $db 对象。我想访问管理员类中的 PDO 对象
  • 尽管如此,这是上述代码中唯一可能导致此错误的行
猜你喜欢
  • 1970-01-01
  • 2015-08-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-08-08
  • 2013-08-03
  • 2021-04-11
相关资源
最近更新 更多