php - 在非对象中调用成员函数prepare()

时间:2014-01-14 09:37:44

标签: php pdo

我收到此错误:

Fatal error: Call to a member function prepare() on a non-object in /home/folder/public_html/includes/name.php on line 1768  

这是功能:

function _FC_GET($typ, $data, $username){

            global $dbh;
            $stmt = $dbh->prepare("SELECT * FROM stats_clicks WHERE typ=:typ AND user=:username AND data=:data LIMIT 1;");
            $stmt->bindParam(':typ', $typ);
            $stmt->bindParam(':username', $username);
            $stmt->bindParam(':data', $data);
            try {
            $stmt->execute();
            }
            catch(PDOException $e) {
                die( _OP_ERROR($e->getMessage(), __FILE__ ,__LINE__) );     
            }

            $QUERY_DAT = $stmt->fetchAll();
            return empty($QUERY_DAT['value']) ? 0 : $QUERY_DAT['value'];

        }

这是第1768行:

$stmt = $dbh->prepare("SELECT * FROM stats_clicks WHERE typ=:typ AND user=:username AND data=:data LIMIT 1;");

我似乎无法找到造成这种情况的原因。我在同一文件的其他函数中使用$dbh-prepare();语句。

2 个答案:

答案 0 :(得分:0)

$ dbh未在该行定义。检查创建对象$ dbh的位置(如果它在1768行之前,或者它不在任何未满足的条件下)。

答案 1 :(得分:0)

试试这个:

Look at here

可能是您连接的原因。