在Bluemix中,当我得到这个errorCall到未定义的函数mssql_connect()

时间:2016-02-26 16:21:21

标签: ibm-cloud

在Bluemix中,我创建了一个PHP应用程序并绑定了一个新的SQL服务实例。但是,当我尝试连接到SQL服务实例时,我收到以下错误:

Call to undefined function mssql_connect(). 

有人可以帮我解释原因吗? 感谢

1 个答案:

答案 0 :(得分:0)

根据您的评论,您使用的是基于DB2的Bluemix SQLDB服务。

下面的链接中有一个示例代码用于dashDB,但它也类似于SQLDB:

https://hub.jazz.net/project/ibmdatabase/dashDB/overview#https://hub.jazz.net/git/ibmdatabase%252FdashDB/list/master/samples/dashDBPHP

但基本上,这就是你要做的事情:

//parse vcap
if( getenv("VCAP_SERVICES") ) {
    $json = getenv("VCAP_SERVICES");
} 
# No DB credentials
else {
    throw new Exception("No Database Information Available.", 1);
}    
# Decode JSON and gather DB Info
    $services_json = json_decode($json,true);
    $bludb_config = $services_json["sqldb"][0]["credentials"];

    // create DB connect string
    $conn_string = "DRIVER={IBM DB2 ODBC DRIVER};DATABASE=".
       $bludb_config["db"].
       ";HOSTNAME=".
       $bludb_config["host"].
       ";PORT=".
       $bludb_config["port"].
       ";PROTOCOL=TCPIP;UID=".
       $bludb_config["username"].
       ";PWD=".
       $bludb_config["password"].
       ";";

    // connect to database
    $conn = db2_connect($conn_string, '', ''); 

最后,您必须使用DB2 Heroku PHP buildpack来部署您的应用程序(默认的PHP buildpack没有db2客户端):

$ cf push app-name -b https://github.com/ibmdb/db2heroku-buildpack-php