在BlueMix中的同一个php文件中连接另一个db2实例

时间:2016-04-18 08:00:50

标签: php db2 ibm-cloud

我使用此代码连接到数据库

//解析VCAP_SERVICES环境变量

$vcap_services = $_ENV["VCAP_SERVICES"];
$services_json = json_decode($vcap_services,true);
$sqldb = $services_json["sqldb"];
if (empty($sqldb)) {
    echo "No sqldb service instance is bound. Please bind a sqldb service instance";
    return;
}

//Get Credentials object (db,host,port,username,password)
$sqldb_config = $services_json["sqldb"][0]["credentials"];

$conn_string = "DRIVER={IBM DB2 ODBC DRIVER};DATABASE=".
   $sqldb_config["db"].
   ";HOSTNAME=".
   $sqldb_config["host"].
   ";PORT=".
   $sqldb_config["port"].
   ";PROTOCOL=TCPIP;UID=".
   $sqldb_config["username"].
   ";PWD=".
   $sqldb_config["password"].
   ";";
然后我做了#34;我的事情"并用

关闭连接
db2_close($conn);

然后当我尝试使用相同的连接代码连接到db2 db的另一个实例但更改此行中的中间参数时:

$sqldb_config = $services_json["sqldb"][0]["credentials"];

连接不起作用。这两部分代码分别工作得很好。当我按顺序将代码放在同一个文件中导致此错误时。

1 个答案:

答案 0 :(得分:1)

关闭连接后,您必须打开一个新连接(使用您已经使用的代码)才能再次访问数据库。在每个逻辑'之后关闭连接是正确的。一组查询。