【问题标题】:How can I connect PHP to Bluemix database?如何将 PHP 连接到 Bluemix 数据库?
【发布时间】:2015-11-07 11:28:57
【问题描述】:

我有一个 php 文件,我想将它连接到数据库 通常我使用 localhost 但我从不在 Bluemix 中使用 php 我应该填写这些属性?

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

请帮忙

【问题讨论】:

  • 你有什么错误吗?

标签: php database ibm-cloud


【解决方案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();

【讨论】:

  • 非常感谢,但是我怎样才能插入我的 ip 以及我应该为 $DB_user 写什么,写 'user' 足够还是我应该写我的信息?
  • 老兄使用您的凭据。 :D
  • 感谢您的帮助,很抱歉迟到了,但我真的不知道他们在说哪个用户或密码?它们是指我在 Bluemix 上的帐户还是其他什么?
  • @user3880907,你的VCAP_SERVICES_credentials
【解决方案2】:

在 Bluemix 上创建您的数据库服务并将其绑定到您的应用程序。转到您的应用程序仪表板,您应该会看到下面的数据库服务实例。单击显示凭据。

但是,执行此操作的正确方法是通过解析 VCAP_SERVICES 环境变量以编程方式获取凭据。看这个例子: https://github.com/IBM-Bluemix/php-mysql见db.php

【讨论】:

    【解决方案3】:

    您必须从 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
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-04-15
      • 2014-01-25
      • 1970-01-01
      • 2018-01-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多