我有一个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