使用mysql_connect()返回的MySQL链接作为全局变量?

时间:2010-09-04 15:41:20

标签: php mysql database oop

背景

  • 我们有一个用于访问mysql数据库的类。如果链接不作为参数提供,则此类中的方法将形成新的mysql连接。
  • 我们在系统(而不是数据库类)中使用类的方式是声明一个数据库对象并调用适当的方法,并让对象作用域结束。
  • 我们遇到了系统(不是数据库类)中的代码问题,该代码正在创建连接,插入记录,关闭连接然后打开新连接以获取max(id)以检索最后插入的id。 (显然这不会扩大规模。)

问题

我正在尝试更正代码以使用相应函数中的mysql_insert_id替换max(id)用法,我需要通过以下方式之一修改代码结构以通过数据库连接链接。

我想我有以下选择:
1.修改类方法的代码以使用类的内部链接变量。将数据库对象声明为全局对象一次。修改应用程序中的代码使用情况以使用此全局变量 2.修改类方法的代码以使用类的内部链接变量。将“mysql_connect()返回的MySQL链接标识符”保存在全局可访问的变量中,然后在创建数据库对象时使用它。对使用对象及其方法的影响最小。

还有其他选择吗?我正在寻找(2)因为它没有更少的代码流失 - 但我应该这样做吗?任何潜在的问题?

2 个答案:

答案 0 :(得分:1)

答案 1 :(得分:-1)

这样做:

  1. 删除所有mysql_close()语句。
  2. 将所有mysql_connect()转换为mysql_pconnect()以创建持久连接。