在 PHP 对象中连接到 MDB2
$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 作为参数传递给函数吗?这是正确的方法吗?
此外,我正在编写一个类来查询我的数据库。我不知道该怎么做(我不想将它作为参数传递)
我是否必须每次都重新建立连接(即编写一个连接函数)
你不能使连接持久化和全局化吗?
$dsn="mysql://$db_username:$db_password@$db_hostname/$db_database";
global $mdb2;
$mdb2=MDB2::connect($dsn);
if (PEAR::isError($mdb2))
{
die($mdb2->getMessage());
}
I do this to connect to my DB, I put this in a separate php file called Connect.php and require it on all my pages.
However, when I have to query inside a function, I will have to pass $mdb2 to the function as an argument? Is this the right way to do it.
Further, I am writing a class which will query my DB. And I have no idea what to do (I don't wanna pass it as an argument)
Do I have to re-establish the connect everytime (ie. write a function for connection)
Can't you make the connection persistent and global?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您可以在所有页面上 require 文件
Connect.php
,并且每个需要使用连接的函数都可以引用global
变量$mdb2.
例如:
其他解决方案是使用
Singleton Class
访问数据库,以便有一个函数始终返回对$mdb2
变量的引用。当然,讨论数据库连接是全局还是单例?值得一读。
You can require your file
Connect.php
on all of your pages, and every function that needs to use the connection can refer to theglobal
variable$mdb2
.For example:
Other solution is using a
Singleton Class
to access the database, so that there is a function that always returns the reference to your$mdb2
variable.Surely, the discussion Global or Singleton for database connection? is something worth reading.