首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PHP/MySQL:为每个查询创建新连接?

问PHP/MySQL:为每个查询创建新连接?
EN

Stack Overflow用户
提问于 2012-03-09 05:11:36
回答 4查看 4K关注 0票数 1

我有一个带有一些mysql查询的网页,我必须在每次查询后启动新的数据库连接并关闭数据库,还是更有效地在代码顶部启动一个数据库连接并在脚本底部关闭?谢谢!

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2012-03-09 05:12:55

永远不要为每个查询创建新的连接;这是非常浪费的,并且会使您的MySQL服务器负担过重。

在脚本的顶部创建一个连接就足够了-所有后续查询都将使用该连接,直到页面结束。您甚至可以在其他脚本中使用该连接,这些脚本通过您的mysql_connect()调用被include()到脚本中。

票数 6
EN

Stack Overflow用户

发布于 2012-03-09 05:17:49

我更喜欢创建一种名为Database的类,该类在创建时将使用mysqli (mysql的面向对象版本)创建一个数据库连接。

这样,我就不必担心这一点,而且我有一个可以访问数据库的静态类。

代码语言:javascript
复制
class MyAPI {
    private static $database = false;

    public static function GetDatabase() {
        if (MyAPI::$database === false) {
            MyAPI::$database = new Database(credentials can go here)
        }
        return MyAPI::$database;
    }
}

现在,包含API和数据库的系统可以访问数据库,它的初始化代码不必根据程序的运行部分而散布在文件周围,如果不需要数据库/连接,则不会创建它(只在调用它之前)。

为了好玩,我还喜欢在我的Database类中有一个函数,它将执行查询并返回结果,这样我就不必在代码中一遍又一遍地重复while循环,这取决于我在哪里进行这些调用。

我也忘了回答你的问题。没有多个连接!它的巴德。

票数 5
EN

Stack Overflow用户

发布于 2012-03-09 05:13:15

仅创建一个连接。你甚至不需要手动关闭它。

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

https://stackoverflow.com/questions/9625003

复制
相关文章

相似问题

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