diff --git a/includes/database.mysql.inc b/includes/database.mysql.inc
index 79f95331e1477210d002647fe579e3b73ec1ad38..421ccbeb552bc3cd8a7d2a570ff98534f10e754c 100644
--- a/includes/database.mysql.inc
+++ b/includes/database.mysql.inc
@@ -56,7 +56,13 @@ function db_connect($url) {
 
   // Decode url-encoded information in the db connection string
   $url['user'] = urldecode($url['user']);
-  $url['pass'] = urldecode($url['pass']);
+  // Test if database url has a password.
+  if(isset($url['pass'])) {
+    $url['pass'] = urldecode($url['pass']);
+  }
+  else {
+    $url['pass'] = '';
+  }
   $url['host'] = urldecode($url['host']);
   $url['path'] = urldecode($url['path']);
 
diff --git a/includes/database.mysqli.inc b/includes/database.mysqli.inc
index 9c6da588890f2b9162aac728e0230f09fd490d1f..de2c36af8cf15de4791863d66152b9a3e77eefcb 100644
--- a/includes/database.mysqli.inc
+++ b/includes/database.mysqli.inc
@@ -57,7 +57,13 @@ function db_connect($url) {
 
   // Decode url-encoded information in the db connection string
   $url['user'] = urldecode($url['user']);
-  $url['pass'] = urldecode($url['pass']);
+  // Test if database url has a password.
+  if(isset($url['pass'])) {
+    $url['pass'] = urldecode($url['pass']);
+  }
+  else {
+    $url['pass'] = '';
+  }
   $url['host'] = urldecode($url['host']);
   $url['path'] = urldecode($url['path']);