switched from gettype() to is_* for testing type in escape()
diff --git a/system/database/DB_driver.php b/system/database/DB_driver.php
index 42b6a75..9385870 100644
--- a/system/database/DB_driver.php
+++ b/system/database/DB_driver.php
@@ -673,16 +673,19 @@
 	 * @return	integer		
 	 */	
 	function escape($str)
-	{	
-		switch (gettype($str))
+	{
+		if (is_string($str))
 		{
-			case 'string'	:	$str = "'".$this->escape_str($str)."'";
-				break;
-			case 'boolean'	:	$str = ($str === FALSE) ? 0 : 1;
-				break;
-			default			:	$str = ($str === NULL) ? 'NULL' : $str;
-				break;
-		}		
+			$str = "'".$this->escape_str($str)."'";
+		}
+		elseif (is_bool($str))
+		{
+			$str = ($str === FALSE) ? 0 : 1;
+		}
+		elseif (is_null($str))
+		{
+			$str = 'NULL';
+		}
 
 		return $str;
 	}
diff --git a/user_guide/changelog.html b/user_guide/changelog.html
index 1f3b4c9..f5a6fbe 100644
--- a/user_guide/changelog.html
+++ b/user_guide/changelog.html
@@ -62,6 +62,11 @@
 SVN Revision: </p>
 
 <ul>
+	<li>Database
+		<ul>
+			<li>Switched from using gettype() in escape() to is_* methods, since future PHP versions might change its output.</li>
+		</ul>
+	</li>
 </ul>
 
 <h3>Bug fixes for 1.7.2</h3>