我有一個php文件,我想連接它到數據庫 通常我使用本地主機,但我從來沒有使用php在Bluemix 我應該填寫這些屬性?如何將PHP連接到Bluemix數據庫?
$DB_HOST = 'localhost'; // what should I write instead of
$DB_USER = '';
$DB_PASSWORD = '';
$DB_DATABASE = 'MyDataBase';
請幫助
我有一個php文件,我想連接它到數據庫 通常我使用本地主機,但我從來沒有使用php在Bluemix 我應該填寫這些屬性?如何將PHP連接到Bluemix數據庫?
$DB_HOST = 'localhost'; // what should I write instead of
$DB_USER = '';
$DB_PASSWORD = '';
$DB_DATABASE = 'MyDataBase';
請幫助
第一:您創建父文件夾
文件夾.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();
非常感謝,但是我怎樣才能插入我的ip,並且我應該爲$ DB_user編寫什麼內容,是寫足夠用戶還是我應該寫我的信息? – user3880907
老兄使用你的憑證。 :D – SHAZ
感謝您的幫助,我很抱歉遲到,但我真的不知道他們在談論哪個用戶或密碼?他們是指我在Bluemix上的帳戶還是其他的帳戶? – user3880907
上Bluemix創建數據庫服務,並將其綁定到你的應用程序。轉到您的應用程序儀表板,您應該看到下面的數據庫服務實例。點擊Show Credentials。
但是,正確的方法是通過解析VCAP_SERVICES環境變量以編程方式獲取憑證。看到這個例子: https://github.com/IBM-Bluemix/php-mysql請參閱db.php
您必須解析來自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
您是否收到任何錯誤? – SHAZ