php - 将 PDO 数据库对象实例传递给其他类函数

标签 php mysql database pdo

我在包含的文件中有一个 PDO 对象,当我在主页中使用它时,它工作得很好。 当我将它传递给一个对象以在它们内部使用它时,它根本不起作用。

我直接尝试并引用 (function xxxx(&dbd){ this->$db = &dbd }),根本行不通,但如果我传递另一种类型的值(作为字符串),效果很好。如果我发送 $db = "olaola"它有效,但如果它是 PDO,它会失败。我是 php 和英语的新手,所以请耐心等待 :P

包含文件:

$username = "root";
$password = "*****";
$host = "localhost";
$dbname = "dbname";
$db = NULL;
$options = array(PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES utf8');

try
{
    $db = new PDO("mysql:host={$host};dbname={$dbname};charset=utf8", $username, $password, $options);
}
catch(PDOException $ex)
{
    die("Failed to connect to the database: " . $ex->getMessage());
}

$db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$db->setAttribute(PDO::ATTR_DEFAULT_FETCH_MODE, PDO::FETCH_ASSOC);

主要是:

$pagMenu = new pages($db);

在页面类中:

class pages {

    private $db;

    function __construct($db) { 
        $this->$db = $db;
    }
}

最佳答案

语法是:

    $this->db = $db;

不是$this->$db

关于php - 将 PDO 数据库对象实例传递给其他类函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13198875/

相关文章:

php - 表值未被回显

mysql - 更新 MySQL View 中的值

mysql - Sequelize 中带有联接表的配偶关系

php - 我的 mysqli join 语句语法有什么问题

java - Cassandra 分页

mysql - 关于私有(private) MySQL 实例和 WordPress 的问题

php - 根据条件更改 if 语句的主体

php - 从 WooCommerce 'Customer' 角色隐藏我帐户中的帐户资金充值

java - Esper:如何使用 Esper 的配置 API 配置 Esper 以通过 JDBC 连接关系数据库

php - Graph API - 使用 facebook 多长时间?