首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在PHP对象中连接到MDB2

在PHP对象中连接到MDB2
EN

Stack Overflow用户
提问于 2011-06-09 05:16:55
回答 1查看 3.8K关注 0票数 2
代码语言:javascript
复制
$dsn="mysql://$db_username:$db_password@$db_hostname/$db_database";
global $mdb2;
$mdb2=MDB2::connect($dsn);
if (PEAR::isError($mdb2))
{
    die($mdb2->getMessage());
}

我这样做是为了连接到我的数据库,我把它放在一个单独的名为Connect.php的php文件中,并在我的所有页面上都需要它。

但是,当我必须在函数内部查询时,我必须将$mdb2作为参数传递给函数?这是正确的做法吗?

此外,我正在编写一个类,它将查询我的数据库。我不知道该怎么做(我不想把它当作一个参数)

我是否必须每次都重新建立连接(即,编写用于连接的函数)

您不能使连接持久且全局吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-06-09 06:03:05

您可以在所有页面上都要求使用文件Connect.php,并且需要使用该连接的每个函数都可以引用global变量$mdb2

例如:

代码语言:javascript
复制
# In file Connect.php

<?php
$dsn="mysql://$db_username:$db_password@$db_hostname/$db_database";
$mdb2=MDB2::connect($dsn);
if (PEAR::isError($mdb2))
{
    die($mdb2->getMessage());
}


#In any other file

<?php
require_once "Connect.php";
getUser($id) {
    global $mdb2;
    $mdb2->query("SELECT ....");
}

另一种解决方案是使用Singleton Class访问数据库,以便有一个函数始终返回对$mdb2变量的引用。

当然,讨论Global or Singleton for database connection?是值得一读的。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6285400

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档