无法访问我班级的PDO连接

时间:2014-02-19 01:11:40

标签: php mysql class pdo

我在类中有以下代码:

function __construct(&$User, &$db, $DeptId=0) {
//Will contruct the class
    $this->ID = $DeptId;
    $this->db = $db;
    $this->User = $User;
    $this->Update();
}

我传入对象的“ $ db ”是我这样得到的PDO连接:

$dns = "mysql:host=". DBHOST.";dbname=".DBNAME.';charset=utf8';
$utilisateur = DBUSER;
$motDePasse = DBPW;
$DbLink = new PDO( $dns, $utilisateur, $motDePasse );  
$DbLink->setAttribute(PDO::ATTR_EMULATE_PREPARES, false);

我这样称呼课程:

$dept = new cl_dept($user,$DbLink);

现在我的问题,在我的课程中,我有一个简单的功能,如果它不存在,则在表格中添加一列(如果有版本升级)

private function Update() {
   $queryPrep = $this->db->prepare('ALTER IGNORE TABLE ko_depts ADD dp_enabled boolean(true)');
   $queryPrep->execute();
}

但每次我运行该函数时,我的查询执行命令都会出现FATAL错误:

*在第32行的/home/daniel/public_html/komando/include/table_class.php中的非对象上调用成员函数execute()*

我已经尝试了SQL并且出错了。因为SQL错误,PDO可能无法工作吗?如果是这样,我怎么能显示错误信息?

谢谢。

0 个答案:

没有答案