pgsql选定库连接串


pgsql的数据库连接串和mysql的有点类似,但是一些细节方面还是存在差异的。

链接方式除了在query的时候,链接标识符和sql语句位置对调了之外,在连接串也有差异。其他的结果集操作基本上和mysql一致。

以下代码是先访问一个库获取表中的另外一个库的连接串,然后链接另外一个库进行sql查询操作

<?php
    $accountLink = 'host=IP地址 port=5432 user=postgres password=密码 dbname=账号库';
    $serverName = '公共服务器';
    //执行的查询sql
    $sql = "SELECT * FROM rank;";
    $row = getGameQuery($accountLink, $serverName, $sql);
    echo json_encode($row);
    /**
     * 获得accounts数据库表中的链接后,返回指定sql的结果列
     * @param string $accountLink
     * @param string $server_name
     * @param string $sql
     * @return $row
     */
    function getGameQuery($accountLink, $server_name, $sql){
        //链接账号库
        $accountsConn = pg_connect($accountLink);
        // 获取指定db的连接
        $accountSql = "select dbip,dbport,dbname,dbpwd,serverid,game_dbname from server_list where servername = '$server_name'";
        //exit($sql);链接对应数据库connect
        $res = pg_query($accountsConn, $accountSql);
        //获取对应的服务器名字对应的连接配置
        $row = pg_fetch_row($res); 
        if(empty($row)){
        return false;
        }
        $linkString = "host=$row[0] port=$row[1] user=$row[2] password=$row[3] dbname=$row[5]";
        //exit($linkString);
        $conn = pg_connect($linkString);
        $res = pg_query($conn, $sql);
        $row = pg_fetch_array($res);
        
        return $row;
    }

pgsql是自从mysql被oracle收了之后,一个不错的替代产品。


版权声明,转载请附上原文链接及本声明: https://blog.yongit.com/note/92796.html