我在类中有以下代码:
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可能无法工作吗?如果是这样,我怎么能显示错误信息?
谢谢。