在手册中,每个查询完成后,都会关闭连接。那么当有多个数据库操作的时候这样就导致不停的生成与释放连接,是不是不合理?比如,有一个a.php,里面有20个函数,分别要实例化20个对象,每个对象中都有数据库操作。那么,有三种方法:
1.在20个对象的每个类中分别获得一个数据库连接,操作完成并关闭。
2.在a.php中获得数据库连接,在每个函数中,把连接传参进去,最终在a.php释放。
3.生成一个静态的数据库连接对象,每个类中调用ConnectionClass::db怎么样比较好,请大家讨论讨论。

解决方案 »

  1.   

    day day up
      

  2.   

    如果你使用的是 php_mysql 扩展,那么你的疑虑就并不存在!
    因为 php_mysql 库函数中的数据库连接资源是可以缺省的,只要先执行过 mysql_connect,再在任何地方执行 mysql_XXX 都是没有问题的
    只可惜自 php5.5 起,这个人性化的设计被假道学抛弃了。于是就出现了你的多难选择建议你把数据库操作再封装一下,形成自己的数据库操作类
    在需要的地方实例化一下,单例模式也可以。都没有而外的开销
      

  3.   

    封装成DB类,在20个函数中调用的时候,使用 DB执行增删改,DB内部使用单例模式,这样就使用同一个数据库链接了