我在PHP文件中使用了一个在PHP文件中定义的函数。他的代码结构如下所示
// --- db connection
$dbconn = pg_connect(...
//函数定义
function myfunction(){
$f_stmt = '.....'
$f_result = pg_query_params($dbconn,$f_stmt, ....
$val = pg_fetch_result($f_result, 'COL_VAL');
return $val;
}
// ----一般逻辑
$stmt = '....'
$result = pg_query_params($dbconn,$stmt, ....
while ($row = pg_fetch_assoc($result)) {
echo myfunction()
}
当我尝试在上面的示例函数$ dbconn中使用相同的连接时,我收到连接错误。当我在函数内部创建一个新连接$ dbconn2以用于它自己的用法时它可以工作。如果这是解决方案对性能不是很糟糕?还是有正确的方法?
答案 0 :(得分: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;
}