2014-01-07 81 views
1

我在我的PHP文件中使用了一個在PHP文件中定義的函數。他結構的代碼是像下面功能中的PHP,DB連接。單獨連接是否強制?

// ---分貝連接

$dbconn = pg_connect(... 

//函數定義

// ----一般邏輯

$stmt = '....' 
    $result = pg_query_params($dbconn,$stmt, .... 

    while ($row = pg_fetch_assoc($result)) { 
     echo myfunction() 
    } 

當我試圖在函數$ dbconn中使用相同的連接像上面的示例樣本我收到連接錯誤。當我在函數內部創建一個新的連接$ dbconn2以用於它自己的用法時,它可以工作。如果這是解決方案對性能不壞?或者有沒有合適的方法?

+1

你需要做的'$功能'全局變量$ dbconn內dbconn'訪問;'在函數的頂部(前其他代碼)會訣竅 – naththedeveloper

+0

否則,您可以將var作爲函數的參數,並在每次調用函數時傳遞數據。 – Goikiu

+0

@FDL這是我一直在尋找。謝謝 – Calipso

回答

1

讓您連接變量$dbconn爲全局變量,

function myfunction(){ 
    global $dbconn; 
    $f_stmt = '.....' 
    $f_result = pg_query_params($dbconn,$f_stmt, .... 
    $val = pg_fetch_result($f_result, 'COL_VAL'); 
    return $val; 
}