在 PHP 應用程式中連接至 Db2 資料庫
定義 PHP 應用程式與 Db2 資料庫 BLUDB 之間的連線。
程序
-
情境 1:從 IBM Cloud™ 外部連接:
- 從 Web 主控台下載 Db2 驅動程式套件,然後在將執行 PHP 應用程式的機器上安裝驅動程式套件。
- 驗證必要條件,並收集資料庫詳細資料及連接認證。
-
使用 odbc_connect function 來連接至 BLUDB 資料庫。
PHP 程式碼範例:
<?php $database = "BLUDB"; # Get these database details from $hostname = "<Host-name>"; # the web console $user = "<User-ID >"; # $password = "<Password>"; # $port = 50000; # $ssl_port = 50001; # # Build the connection string # $driver = "DRIVER={IBM DB2 ODBC DRIVER};"; $dsn = "DATABASE=$database; " . "HOSTNAME=$hostname;" . "PORT=$port; " . "PROTOCOL=TCPIP; " . "UID=$user;" . "PWD=$password;"; $ssl_dsn = "DATABASE=$database; " . "HOSTNAME=$hostname;" . "PORT=$ssl_port; " . "PROTOCOL=TCPIP; " . "UID=$user;" . "PWD=$password;" . "SECURITY=SSL;"; $conn_string = $driver . $dsn; # Non-SSL $conn_string = $driver . $ssl_dsn; # SSL # Connect # $conn = odbc_connect( $conn_string, "", "" ); if( $conn ) { echo "Connection succeeded."; # Disconnect # odbc_close( $conn ); } else { echo "Connection failed."; } ?>將此 PHP 程式碼範例儲存至稱為 C:\sample.php 的 Script 檔案,然後從指令行執行此 Script 時會產生下列輸出:C:\> php -f sample.php Connection succeeded.
- 情境 2:從 IBM Cloud 中的 PHP Web 應用程式連接
- 從 IBM Cloud 型錄中,建立新的 PHP 應用程式。
- 從 IBM Cloud 儀表板中新的 PHP 應用程式的「開始使用」區段中,將應用程式入門範本程式碼下載至本端工作目錄。
-
在 IBM Cloud 儀表板中,建立從 Db2 服務到新的 PHP 應用程式的新連線。
(在 IBM Cloud 中建立此「連線」可讓 PHP 應用程式能夠使用
VCAP_SERVICES環境變數。VCAP_SERVICES環境變數包含 Db2 服務的資料庫詳細資料。相較於將資料庫詳細資料寫在 PHP 應用程式中,使用VCAP_SERVICES更為方便)。 -
在本端工作目錄中,更新檔案 index.php,以使用函數 db2_connect 連接至 BLUDB 資料庫。
範例:
<!DOCTYPE html> <html> <head> <title>PHP Starter Application</title> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <link rel="stylesheet" href="style.css" /> </head> <body> <?php if( getenv( "VCAP_SERVICES" ) ) { # Get database details from the VCAP_SERVICES environment variable # # *This can only work if you have used the Bluemix dashboard to # create a connection from your dashDB service to your PHP App. # $details = json_decode( getenv( "VCAP_SERVICES" ), true ); $dsn = $details [ "dashDB" ][0][ "credentials" ][ "dsn" ]; $ssl_dsn = $details [ "dashDB" ][0][ "credentials" ][ "ssldsn" ]; # Build the connection string # $driver = "DRIVER={IBM DB2 ODBC DRIVER};"; $conn_string = $driver . $dsn; # Non-SSL $conn_string = $driver . $ssl_dsn; # SSL $conn = db2_connect( $conn_string, "", "" ); if( $conn ) { echo "<p>Connection succeeded.</p>"; db2_close( $conn ); } else { echo "<p>Connection failed.</p>"; } } else { echo "<p>No credentials.</p>"; } ?> </body> </html> - 遵循 IBM Cloud 儀表板中 PHP 應用程式的「開始使用」區段中的指示,從本端工作目錄將更新推送至 IBM Cloud。然後在 IBM Cloud 中重新啟動應用程式,並在瀏覽器中檢視該應用程式。