类中数据库访问-求php开发中数据库连接创建和关闭的较好时机问题

问题描述

求php开发中数据库连接创建和关闭的较好时机问题

刚刚学php不久,在用php写一个毕业设计,可是在数据库连接的地方犯了难,
最开始用的是配置文件的方法,
在config.inc.php中设置了数据库连接的一些参数,比如说数据库名密码等等,
然后在db.conn.php中创建一个mysqli对象,连接上数据库,并设置它的编码。
后来在应用的过程中发现特别麻烦,每次都要用include将这些文件导入,然后再使用
$db进行数据库的访问,可是后来在一些类中处理,打算在构造函数中创建数据库连接
在析构函数中关闭连接,然后在各个函数中使用连接。
那么这个时候该怎么办,难道每一个类中都要创建一个变量来保存数据库连接?
然后在构造函数为其赋值一个已经打开的数据库连接,在析构函数中关闭?
写的乱七八糟的,求大神帮助。
十分感谢!

解决方案

1、把数据库操作封装成一个类,调用完就close掉,可以直接拷贝phpcms,或者thinkphp的数据库类使用
2、建立一个公共入口文件,把公用的类和方法一次性全部include进来,具体应用时只要包含公共代码文件即可

时间: 2024-10-31 21:58:21

类中数据库访问-求php开发中数据库连接创建和关闭的较好时机问题的相关文章

ASP和数据库技术在WAP开发中的应用

数据|数据库 利用ASP技术可以开发出动态WAP页面,将ASP技术和数据库技术相结合,则可以开发更为复杂的WAP应用.有关ASP和Web数据库的知识请读者参考专门书籍,我们这里以WML为例,说明ASP和数据库技术在WAP开发中的应用. 在WML程序中使用ASP 在WML程序中使用ASP的规则很简单,只要做到以下5条即可: (1) 声明ASP采用的脚本语言.与ASP中声明的方式类似,格式为: <%@ Language=VBScript %> (2) 声明wml文件类型.这可采用ASP的Respo

排他访问-求解决MVC中文件访问冲突的问题

问题描述 求解决MVC中文件访问冲突的问题 我在MVC某个Action中需要访问一个服务器文件,其中包含写文件操作,当多个用户同时访问这个action的时候我如何去避免文件访问的冲突呢??? 我试了进程斥量实现排他访问 结果不行 各位大神有没有好的解决方案? 解决方案 不要搞什么进程了, 虚得很.访问前判断此文件处理什么状态就好了. using System;using System.Collections.Generic;using System.Linq;using System.Text;

“ASP.NET 2.0 正式版中无刷新页面的开发”中示例代码与Firefox兼容的解决

asp.net|解决|示例|刷新|无刷新|页面 这几天正着手开始写毕业设计,因为发生了一些事情,所以一直拖到现在才开始.其实我准备做一个ASP.NET 2.0并且使用AJAX的Web项目,于是到博客园到处寻着AJAX的文章,恰好翻到了Leon.Zhou的ASP.NET 2.0 正式版中无刷新页面的开发按照代码示例和讲解做了一个页面,确实不错啊.因为俺平时几乎都用Firefox,所以就顺手测试了一下Firefox下的效果,结果发现点了Button之后没有反应--于是打开Javascript控制台,

在Silverlight中如何访问外部xap文件中UserControl

概述 众所周知,在Silverlight 2开始每个项目编译后都会打包成为一个xap文件,如果我们要访问当前xap文件中的UserControl比较容易, 那我们如何访问一个外部xap文件中的内容呢?甚至于如何访问一个互联网上的xap文件呢? 需求 现在我们先来看一下需求,大致是这样子的,在服务端我们有两个xap文件,其中MainProject.xap文件将会在 MainProjectTestPage.aspx中引用,而ExternalProject.xap文件中的UserControl将会在M

三层架构中数据库访问的问题

问题描述 这里主要是想问一个结构的问题.当然我测试链接成功以后,我关闭了数据库配置界面.内存里面其实是把我点击测试链接以后的数据给释放了.再返回到登录验证用户名这个环节的时候,无法执行一些SQL的查询语句了.有什么方法可以让数据库连接保存或者下来.或者一般在三层架构中,数据库链接这块,是放在DAL这层去处理?还是说哪一层?特别小白的一个问题,感谢大家指导! 解决方案 解决方案二:起码数据库连接对象不应该放在窗体中,这样的话它会随着窗体释放而被回收解决方案三:这不是结构问题,而是流程问题测试数据库

详解Java编程中的反射在Android开发中的应用_Android

反射定义 "反射"(Reflection)能够让运行于JVM中的程序检测和修改运行时的行为.为何需要反射 反射带来的好处包括:     在运行时检测对象的类型.     动态构造某个类的对象.     检测类的属性和方法.     任意调用对象的方法.     修改构造函数.方法.属性的可见性. 反射方法Method getDeclaredMethod方法 声明如下: public Method getDeclaredMethod(String name, Class<?>

详解Java编程中的反射在Android开发中的应用

反射定义 "反射"(Reflection)能够让运行于JVM中的程序检测和修改运行时的行为. 为何需要反射 反射带来的好处包括: 在运行时检测对象的类型.     动态构造某个类的对象.     检测类的属性和方法.     任意调用对象的方法.     修改构造函数.方法.属性的可见性. 反射方法Method getDeclaredMethod方法 声明如下: public Method getDeclaredMethod(String name, Class<?>...

AJAX.NET 中如何访问 UpdateProgress 控件中的元素(控件)?

问题描述 使用FindControl找不到任何东西.谢谢. 解决方案 解决方案二:先弄清楚Ajax是个什么.你见过FindControl可以找脚本的么解决方案三:嗯,谢谢.那UpdateProgress里的控件如何访问到?解决方案四:另外,ASP.NET的AJAX的确是有FindControl的.http://msdn.microsoft.com/zh-cn/library/system.web.ui.updateprogress.findcontrol.aspx---也许accpjiangwe

单元测试:在您的数据库项目中应用测试驱动的开发

本文讨论: TDD 的优点 在数据库开发中应用单元测试 组合 T-SQL 与 .NET 兼容的语言 连接.测试条件和事务 本文使用了以下技术: Visual Studio 2008, SQL Server LMicrosoft 于 2006 年 11 月发布了 Visual Studio Team System Database Edition,也称为 DBPro 或 Data Dude,它向产品生命周期方法中引入了数据库开发.DBPro 还引进了数据库单元测试设计 器,使用它可以轻松地生成或编