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));
是的,但后来我得到这个错误:致命错误:使用$ this,而不是在第9行C:\ wamp \ www \ firsttest \ index.php中的对象上下文中 –
为什么你使用'$ this'? – BizzyBob
你是如何创建你的'db'对象的?如果它不是类的一部分,也许你可以执行'$ GLOBALS ['db'] - > prepare($ sql)' – BizzyBob