PDO错误与功能选择

问题描述:

function getColumn($sql, $params) 
{ 
    $stmt = $this->db->prepare($sql); 
    $stmt->execute($params); 
    return $stmt->fetchColumn(); 
} 


echo $db->getColumn("SELECT token FROM Sessions WHERE uid = ?", array(1)); 

我已经创建了一个函数来帮助我加载SQL查询。但是,我每次都会收到错误:PDO错误与功能选择

Fatal error: Call to undefined method PDO::getColumn() in C:\wamp\www\firsttest\index.php on line 15 

为什么PDO无法识别我的getColumn函数?

您的函数不属于PDO类,因此您不会从pdo对象调用它。

所以不这样做:

$db->getColumn("SELECT token FROM Sessions WHERE uid = ?", array(1)); 

叫它:

getColumn("SELECT token FROM Sessions WHERE uid = ?", array(1)); 

,或者因为它看起来像你的函数属于一类,这样做:

$yourClass->getColumn("SELECT token FROM Sessions WHERE uid = ?", array(1)); 
+0

是的,但后来我得到这个错误:致命错误:使用$ this,而不是在第9行C:\ wamp \ www \ firsttest \ index.php中的对象上下文中 –

+0

为什么你使用'$ this'? – BizzyBob

+0

你是如何创建你的'db'对象的?如果它不是类的一部分,也许你可以执行'$ GLOBALS ['db'] - > prepare($ sql)' – BizzyBob