我在包含的文件中有一个 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/