PHP,功能中的DB连接。单独连接是强制性的吗?

时间:2014-01-07 13:58:34

标签: php function postgresql connection

我在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以用于它自己的用法时它可以工作。如果这是解决方案对性能不是很糟糕?还是有正确的方法?

1 个答案:

答案 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;
}