我有一个带有一些mysql查询的网页,我必须在每次查询后启动新的数据库连接并关闭数据库,还是更有效地在代码顶部启动一个数据库连接并在脚本底部关闭?谢谢!
发布于 2012-03-09 05:12:55
永远不要为每个查询创建新的连接;这是非常浪费的,并且会使您的MySQL服务器负担过重。
在脚本的顶部创建一个连接就足够了-所有后续查询都将使用该连接,直到页面结束。您甚至可以在其他脚本中使用该连接,这些脚本通过您的mysql_connect()调用被include()到脚本中。
发布于 2012-03-09 05:17:49
我更喜欢创建一种名为Database的类,该类在创建时将使用mysqli (mysql的面向对象版本)创建一个数据库连接。
这样,我就不必担心这一点,而且我有一个可以访问数据库的静态类。
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循环,这取决于我在哪里进行这些调用。
我也忘了回答你的问题。没有多个连接!它的巴德。
发布于 2012-03-09 05:13:15
仅创建一个连接。你甚至不需要手动关闭它。
https://stackoverflow.com/questions/9625003
复制相似问题