[aur-dev] [PATCH 2/2] Use non-persistant connections

Dan McGee dan at archlinux.org
Mon Dec 29 21:46:06 EST 2008


There is really no need to use persistent connections to the database in
this day and age. Most PHP development guides recommend against it, and the
new mysqli interface doesn't even include the functionality.

Add a matching but currently unused db_disconnect() function while we are at
it. Reference counting will cover us for the most part, however.

Signed-off-by: Dan McGee <dan at archlinux.org>
---
 web/lib/aur.inc |   19 +++++++++++++++----
 1 files changed, 15 insertions(+), 4 deletions(-)

diff --git a/web/lib/aur.inc b/web/lib/aur.inc
index 1fc9842..ab52636 100644
--- a/web/lib/aur.inc
+++ b/web/lib/aur.inc
@@ -214,8 +214,7 @@ function uid_from_sid($sid="") {
 # connect to the database
 #
 function db_connect() {
-
-	$handle = mysql_pconnect(AUR_db_host, AUR_db_user, AUR_db_pass);
+	$handle = mysql_connect(AUR_db_host, AUR_db_user, AUR_db_pass);
 	if (!$handle) {
 		die("Error connecting to AUR database: " . mysql_error());
 	}
@@ -226,15 +225,27 @@ function db_connect() {
 	return $handle;
 }
 
+# disconnect from the database
+# this won't normally be needed as PHP/reference counting will take care of
+# closing the connection once it is no longer referenced
+#
+function db_disconnect($db_handle="") {
+	if ($db_handle) {
+		mysql_close($db_handle);
+		return TRUE;
+	}
+	return FALSE;
+}
+
 # wrapper function around db_query in case we want to put
-# query logging/debuggin in.
+# query logging/debugging in.
 #
 function db_query($query="", $db_handle="") {
 	if (!$query) {
 		return FALSE;
 	}
 	if (!$db_handle) {
-		$db_handle = db_connect();
+		die("DB handle was not provided to db_query");
 	}
 	$result = @mysql_query($query, $db_handle);
 	return $result;
-- 
1.6.1



More information about the aur-dev mailing list