新的PHP致命错误:即使连接正确,也要在null上调用成员函数prepare()

时间:2016-05-17 02:18:05

标签: php pdo

我试图到处研究,我不知道为什么我得到这个错误。我正在使用PDO连接并且是新手。

处理留言海报项目。

这是我的代码。

def Traverse(N):
    halfA = halfB = (N-1)/2
    if N % 2 == 0: # size is even
        halfA = N/2
        halfB = N/2-1

    # visit center
    Index(0,0,0,0).visit()

    # Secondary nodes
    PlusI  = []
    MinusI = []
    PlusJ  = []
    MinusJ = []

    # Main nodes
    MainPlusI  = []
    MainMinusI = []
    MainPlusJ  = []
    MainMinusJ = []
    MainPlusK  = []
    MainMinusK = []

    # Add Main nodes
    if halfA > 0:
        MainPlusI.append(  Index(+1, 0, 0, halfA) )
        MainPlusJ.append(  Index(0, +1, 0, halfA) )
        MainPlusK.append(  Index(0, 0, +1, halfA) )

    if halfB > 0:
        MainMinusI.append( Index(-1, 0, 0, halfB) )
        MainMinusJ.append( Index(0, -1, 0, halfB) )
        MainMinusK.append( Index(0, 0, -1, halfB) )

    # Finish condition flag
    visited = True
    while visited:
        visited = False

        # visit all Main nodes
        for m in MainPlusI:
            m.visit()
            visited = True
        for m in MainMinusI:
            m.visit()
            visited = True
        for m in MainPlusJ:
            m.visit()
            visited = True
        for m in MainMinusJ:
            m.visit()
            visited = True
        for m in MainPlusK:
            m.visit()
            visited = True
        for m in MainMinusK:
            m.visit()
            visited = True

        # Visit all Secondary nodes
        for m in PlusI:
            m.visit()
            visited = True
        for m in MinusI:
            m.visit()
            visited = True
        for m in PlusJ:
            m.visit()
            visited = True
        for m in MinusJ:
            m.visit()
            visited = True

        # Iterate Secondary nodes first
        PlusI = StepPlusI(PlusI)
        MinusI = StepMinusI(MinusI)
        PlusJ = StepPlusJ(PlusJ)
        MinusJ = StepMinusJ(MinusJ)

        # Iterate all Main nodes as they might generate Secondary nodes
        MainPlusI = StepMainPlusI(MainPlusI, MinusJ, halfB)
        MainMinusJ = StepMainMinusJ(MainMinusJ, MinusI, halfB)
        MainMinusI = StepMainMinusI(MainMinusI, PlusJ, halfA)
        MainPlusJ = StepMainPlusJ(MainPlusJ, PlusI, halfA)

        # Iterate K nodes last as they might produce Main nodes
        MainPlusK = StepMainPlusK(MainPlusK, MainPlusI, MainMinusI, MainPlusJ, MainMinusJ, halfA, halfB)
        MainMinusK = StepMainMinusK(MainMinusK, MainPlusI, MainMinusI, MainPlusJ, MainMinusJ, halfA, halfB)

这里是显示数据库信息的代码。

<?php

class StatusPoster{

    private $db=NULL;

    const DB_SERVER='localhost';
    const DB_USER='root';
    const DB_PASSWORD='';
    const DB_NAME='status_poster';


    public function _construct(){
           $dsn ='mysql:dbname='.self::DB_NAME.';host'.self::DB_SERVER;

                try{
            $this->db = new PDO($dsn, self::DB_USER, self::DB_PASSWORD);           

        }catch (PDOException $e) {            
            throw new Exception('connection failed : '.$e->getMessage());
        }
      return $this->db; 


    } 

    public function getStatusPosts(){
        $statement = $this->db->prepare("SELECT name,image,Status,timestamp FROM status ORDER BY timestamp DESC,id");
        $statement->execute();

        if($statement->rowCount()>0){
            return $statement->fetchAll();
        }
        return false;


    }  


}
 $status = new StatusPoster();
?>

如果有人真的将问题指向我,我会很高兴。

0 个答案:

没有答案