2015-11-07 23 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