Added count_all_results() function to Active Record.
diff --git a/system/database/drivers/mysql/mysql_driver.php b/system/database/drivers/mysql/mysql_driver.php
index 2e1f30f..69a238d 100644
--- a/system/database/drivers/mysql/mysql_driver.php
+++ b/system/database/drivers/mysql/mysql_driver.php
@@ -31,6 +31,13 @@
 class CI_DB_mysql_driver extends CI_DB {

 

 	/**

+	 * The syntax to count rows is slightly different across different

+	 * database engines, so this string appears in each driver and is

+	 * used for the count_all() and count_all_results() functions.

+	 */

+	var $count_string = "SELECT COUNT(*) AS numrows ";

+

+	/**

 	 * Whether to use the MySQL "delete hack" which allows the number

 	 * of affected rows to be shown. Uses a preg_replace when enabled,

 	 * adding a bit more processing to all queries.

@@ -222,7 +229,17 @@
 	 */

 	function escape_str($str)	

 	{	

-		if (function_exists('mysql_real_escape_string'))

+		if (is_array($str))

+    	{

+    		foreach($str as $key => $val)

+    		{

+    			$str[$key] = $this->escape_str($val);

+    		}

+    		

+    		return $str;

+    	}

+	

+		if (function_exists('mysql_real_escape_string') AND is_resource($this->conn_id))

 		{

 			return mysql_real_escape_string($str, $this->conn_id);

 		}

@@ -279,7 +296,7 @@
 		if ($table == '')

 			return '0';

 	

-		$query = $this->query("SELECT COUNT(*) AS numrows FROM `".$this->dbprefix.$table."`");

+		$query = $this->query($this->count_string . "FROM `".$this->dbprefix.$table."`");

 		

 		if ($query->num_rows() == 0)

 			return '0';

@@ -298,9 +315,16 @@
 	 * @access	private

 	 * @return	string

 	 */

-	function _list_tables()

+	function _list_tables($prefix_limit = FALSE)

 	{

-		return "SHOW TABLES FROM `".$this->database."`";		

+		$sql = "SHOW TABLES FROM `".$this->database."`";	

+		

+		if ($prefix_limit !== FALSE AND $this->_stdprefix != '')

+		{

+			$sql .= " LIKE '".$this->_stdprefix."%'";

+		}

+		

+		return $sql;

 	}

 	

 	// --------------------------------------------------------------------