PHP,函数中的数据库连接。是否必须单独连接?

标签 php function postgresql connection

我在我的 PHP 文件中使用了一个在 PHP 文件中定义的函数。代码结构如下

//--- 数据库连接

$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 供其自己使用时,它就可以工作。如果这是解决方案,对性能来说不是不好吗?或者有什么好的方法吗?

最佳答案

将你的连接变量$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;
}

关于PHP,函数中的数据库连接。是否必须单独连接?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20973510/

相关文章:

没有 DELETE 语句的 Postgresql 复制

php - 将命名参数与 PDO 一起用于 LIKE

php - 用于计算文本 block 中句子的正则表达式

php - 如何查询数据库中的 IP - 错误

PHP基于数组计算几列的总和

c - return 1 和 return 0 有什么不同?回溯在给定代码中如何工作?

c - 将二维数组传递给函数

javascript - dataModel URL javascript 函数不填充网格

postgresql - 使用 Slick 只插入所有新记录

postgresql - Postgres - 一旦行中的列不为空,如何停止更新行