2015-11-07 20 views
2

我有一个php文件,我想连接它到数据库 通常我使用本地主机,但我从来没有使用php在Bluemix 我应该填写这些属性?如何将PHP连接到Bluemix数据库?

$DB_HOST = 'localhost'; // what should I write instead of 
$DB_USER = ''; 
$DB_PASSWORD = ''; 
$DB_DATABASE = 'MyDataBase'; 

请帮助

+0

您是否收到任何错误? – SHAZ

回答

1

第一:您创建父文件夹

文件夹.bp-config/options.json并在options.json文件夹下面添加行的代码,所以sqli连接的意愿工作。

{ 
    "PHP_EXTENSIONS": ["mysqli"] 
} 

现在做一个连接:

$DB_HOST = '127.0.0.1:3307'; // insert ip with port number 
$DB_USER = 'user'; 
$DB_PASSWORD = 'password'; 
$DB_DATABASE = 'dbname'; 

$mysqli = new mysqli($DB_HOST,$DB_USER,$DB_PASSWORD,$DB_DATABASE); 
$result = $mysqli->query(" SELECT * FROM table_name "); 
$row = $result->fetch_assoc(); 
+0

非常感谢,但是我怎样才能插入我的ip,并且我应该为$ DB_user编写什么内容,是写足够用户还是我应该写我的信息? – user3880907

+0

老兄使用你的凭证。 :D – SHAZ

+0

感谢您的帮助,我很抱歉迟到,但我真的不知道他们在谈论哪个用户或密码?他们是指我在Bluemix上的帐户还是其他的帐户? – user3880907

1

上Bluemix创建数据库服务,并将其绑定到你的应用程序。转到您的应用程序仪表板,您应该看到下面的数据库服务实例。点击Show Credentials。 enter image description here

但是,正确的方法是通过解析VCAP_SERVICES环境变量以编程方式获取凭证。看到这个例子: https://github.com/IBM-Bluemix/php-mysql请参阅db.php

0

您必须解析来自VCAP_SERVICES的数据库信息。

如果你的数据库服务是“SQL数据库”可以连接使用此示例代码来SQLDB:

//parse VCAP_SERVICES Environment variable 
$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"]. 
    ";"; 


$conn = db2_connect($conn_string, '', ''); //db connection