在 PHP 中提取大型物件 (ibm_db2)

當您從結果集提取大型物件時,您可以將大型物件直接提取到 PHP 伺服器上的檔案中,以節省系統資源,而不是將大型物件視為 PHP 字串。

開始之前

透過呼叫 ibm_db2 API中的其中一個連線函數來取得連線資源。

程序

如果要將大型物件直接從資料庫提取到檔案中,請執行下列動作:

  1. 建立代表串流的 PHP 變數。 例如,將呼叫 fopen 函數的回覆值指派給變數。
  2. 呼叫 db2_prepare 函數來建立 SELECT 陳述式。
  3. 呼叫 db2_bind_param 函數,將大型物件的輸出直欄連結至代表串流的 PHP 變數。 此函數的第三個引數是代表 PHP 變數名稱的字串,該變數保留檔案的路徑及名稱。 第四個引數是 DB2_PARAM_FILE,它告訴 ibm_db2 延伸將資料寫入檔案中。
  4. 呼叫 db2_execute 函數,以發出 SQL 陳述式。
  5. 透過呼叫 ibm_db2 提取函數 (例如, db2_fetch_object) 來擷取結果集中的下一列。

    如需 ibm_db2 API 的相關資訊,請參閱 http://www.php.net/docs.php

範例

從資料庫提取大型物件。

$stmt = db2_prepare($conn, "SELECT name, picture FROM animal_pictures");
$picture = fopen("/opt/albums/spook/grooming.jpg", "wb");
$rc = db2_bind_param($stmt, 1, "nickname", DB2_CHAR, 32);
$rc = db2_bind_param($stmt, 2, "picture", DB2_PARAM_FILE);
$rc = db2_execute($stmt);
$rc = db2_fetch_object($stmt);