首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > PHP >

php单例有关问题

2013-06-25 
php单例问题这是我的单例:include_once conn/mysql.class.php//数据库连接单例class Singleton{protect

php单例问题
这是我的单例:
include_once 'conn/mysql.class.php';
     //数据库连接单例
     class Singleton{
     protected static $conn=null;
      //防止实例化
       private function __construct(){}
       //防止克隆
       private function __clone(){}
       //单例
       public static function get(){
        
        if(self::$conn == null){
          self::$conn=new MyDb();
        }
        return self::$conn;
        
       }
     }

类操作:
include_once 'dbio/Singleton.class.php';
    
    //continfo表操作类
    class Content{
    //查询所有记录
    public static function getContent(){
     $arr=array();   //存储所有记录
     $sql='select * from      continfo     ';
     $conn=Singleton::get();
     $ccc=Singleton::get();
     var_dump($conn);
     var_dump($ccc);
     $row=$conn->executeQuery($sql);
     var_dump($row);
     for($i=0;$i<$row;$i++){
     $conn->set($i);
     $arr1=array(        //存储一条记录
         "contid"=>$conn->getValue(0),
         "userid"=>$conn->getValue(1),
         "sendUser"=>$conn->getValue(2),
         "title"=>$conn->getValue(3),
         "content"=>$conn->getValue(4),
         "isLock"=>$conn->getValue(5),
         "imageSrc"=>$conn->getValue(6),
         "contTime"=>$conn->getValue(7)
     );   
     $arr[]=$arr1;     //将一条记录添加到数组中
     }
     $conn->close();
     return $arr;
    }
    }
问题是这个类方法调不出数据库里面的数据
[解决办法]
你不是有 var_dump 吗?
请贴出 var_dump 的结果
[解决办法]
额,LZ你的目的是想测试是不是单例还是想测试下单例对象有没有生成出来?
那你这么费劲干嘛,直接在:
 public static function get(){
        
        if(self::$conn == null){


          self::$conn=new MyDb();
        }
        return self::$conn;
        
       }
这里就可以测试啊,你第二个类里面那一堆代码,基本没用。。。。。如果单例生成了,那读不出数据库是你数据库操作类的问题好吧。。。。
[解决办法]
先检查是哪里的问题,再修改。
首先你看var_dump($conn);有没有值,值是否正确,如果正确说明你的单例和数据库连接都是没有问题的。
然后看下var_dump($row);的结果是否正确,如果不正确,那你去检查一下executeQuery方法。

热点排行