文件1
$search_db = new SearchDo();
if ($search_db->connect() === false) { //数据库连接
   exit;
}if( $area_kubun_id == '') {
        //地域
        $list_area = new AreaList();
        $area_list = $list_area->createList();
        $smarty->assign('area_list', $area_list);
}else {        $area_list =$search_db->getAreaById($area_kubun_id);
        $smarty->assign('area_list', $area_list);}
文件2
class AreaList extends SelectList {
    function AreaList(){
        $sql = SQL_AREA_LIST_SELECT;
        $this->sql = $sql;
        $this->SelectList();
    }
}
文件3
class SelectList extends BoatDb {    function SelectList() {
        $this->BoatDb();
        $this->connect(); // 数据库连接    }     function createList() {
        --数据库操作--
        $this->close();// 关闭连接
     }
}有 is not a valid PostgreSQL link resource 这个错误。

解决方案 »

  1.   

    将connect()函数的内容检查下,看是否server、username、password、db都写对了。
      

  2.   

    SearchDo 这个类的源码呢?
      

  3.   

    ($search_db->connect() === false) { //数据库连接 id=1function SelectList() {
            $this->BoatDb();
            $this->connect(); // 数据库连接  id=2    }这样连续2次的连接没有问题是吗?
    还有就是 连接2 在中间用完就调用  $this->close();// 关闭连接 那么对1是否有影响?
      

  4.   

    没有影响!
    在发起数据库连接时,php首先检查是否已经连接了,如果已经连接就不在做实际的连接了,直接返回已存在的连接
      

  5.   

    哦 也就是只要连接了一次,那么以后再去连接也就是相当于没有开新连接,用的都是第一次的链接吧?
    那么把这个连接关闭就相当于数据库连接关掉了,那么以后再用的话就会出错 is not a valid PostgreSQL link resource。只能是再重新连接。