diff --git a/tests/feeds.test.inc b/tests/feeds.test.inc
index 6eee4552ab4782b1b0880a5287d0f97e129a41f3..63386cdad0bcc75d79d7db1b44b815e1f2beb3ad 100644
--- a/tests/feeds.test.inc
+++ b/tests/feeds.test.inc
@@ -117,7 +117,7 @@ class FeedsWebTestCase extends DrupalWebTestCase {
       $this->drupalPost("admin/build/feeds/edit/$id/$type", $edit, 'Save');
 
       // Assert actual configuration.
-      $config = unserialize(db_result(db_query("SELECT config FROM {feeds_importer} WHERE id = '%s'", $id)));
+      $config = unserialize(db_query("SELECT config FROM {feeds_importer} WHERE id = :id", array(':id' => $id))->fetchField());
       $this->assertEqual($config[$type]['plugin_key'], $plugin_key, 'Verified correct '. $type .' ('. $plugin_key .').');
     }
   }
@@ -155,7 +155,7 @@ class FeedsWebTestCase extends DrupalWebTestCase {
     }
     // If content type not given, retrieve it.
     if (!$content_type) {
-      $config = unserialize(db_result(db_query("SELECT config FROM {feeds_importer} WHERE id = '%s'", $id)));
+      $config = unserialize(db_query("SELECT config FROM {feeds_importer} WHERE id = :id", array(':id' => $id))->fetchField());
       $content_type = $config['content_type'];
       $this->assertFalse(empty($content_type), 'Valid content type found: '. $content_type);
     }
@@ -172,8 +172,8 @@ class FeedsWebTestCase extends DrupalWebTestCase {
     $nid = $this->getNid($this->getUrl());
 
     // Check whether feed got recorded in feeds_source table.
-    $this->assertEqual(1, db_result(db_query("SELECT COUNT(*) FROM {feeds_source} WHERE id = '%s' AND feed_nid = %d", $id, $nid)));
-    $source = db_fetch_object(db_query("SELECT * FROM {feeds_source} WHERE id = '%s' AND feed_nid = %d", $id, $nid));
+    $this->assertEqual(1, db_query("SELECT COUNT(*) FROM {feeds_source} WHERE id = :id AND feed_nid = :feed_nid", array(':id'=> $id, ':feed_nid' => $nid))->fetchField());
+    $source = db_query("SELECT * FROM {feeds_source} WHERE id = :id AND feed_nid = :feed_nid", array(':id'=> $id, ':feed_nid' => $nid))->fetch();
     $config = unserialize($source->config);
     $this->assertEqual($config['FeedsHTTPFetcher']['source'], $feed_url, t('URL in DB correct.'));
     return $nid;
@@ -199,7 +199,7 @@ class FeedsWebTestCase extends DrupalWebTestCase {
     $this->assertText('has been updated.');
 
     // Check that the URL was updated in the feeds_source table.
-    $source = db_fetch_object(db_query("SELECT * FROM {feeds_source} WHERE feed_nid = %d", $nid));
+    $source = db_query("SELECT * FROM {feeds_source} WHERE feed_nid = :nid", array(':nid' => $nid))->fetch();
     $config = unserialize($source->config);
     $this->assertEqual($config['FeedsHTTPFetcher']['source'], $feed_url, t('URL in DB correct.'));
   }
@@ -232,15 +232,15 @@ class FeedsWebTestCase extends DrupalWebTestCase {
     $nid = $this->drupalPost('import/'. $id, $edit, 'Import');
 
     // Check whether feed got recorded in feeds_source table.
-    $this->assertEqual(1, db_result(db_query("SELECT COUNT(*) FROM {feeds_source} WHERE id = '%s' AND feed_nid = 0", $id)));
-    $source = db_fetch_object(db_query("SELECT * FROM {feeds_source} WHERE id = '%s' AND feed_nid = 0", $id));
+    $this->assertEqual(1, db_query("SELECT COUNT(*) FROM {feeds_source} WHERE id = :id AND feed_nid = 0", array(':id' => $id))->fetchField());
+    $source = db_query("SELECT * FROM {feeds_source} WHERE id = :id AND feed_nid = 0",  array(':id' => $id))->fetch();
     $config = unserialize($source->config);
     $this->assertEqual($config['FeedsHTTPFetcher']['source'], $feed_url, t('URL in DB correct.'));
 
     // Check whether feed got properly added to scheduler.
-    $this->assertEqual(1, db_result(db_query("SELECT COUNT(*) FROM {job_schedule} WHERE type = '%s' AND id = 0 AND callback = 'feeds_source_import' AND last <> 0 AND scheduled = 0", $id)));
+    $this->assertEqual(1, db_query("SELECT COUNT(*) FROM {job_schedule} WHERE type = :id AND id = 0 AND callback = 'feeds_source_import' AND last <> 0 AND scheduled = 0", array(':id' => $id))->fetchField());
     // There must be only one entry for callback 'expire' - no matter what the feed_nid is.
-    $this->assertEqual(0, db_result(db_query("SELECT COUNT(*) FROM {job_schedule} WHERE type = '%s' AND callback = 'feeds_importer_expire' AND last <> 0 AND scheduled = 0", $id)));
+    $this->assertEqual(0, db_query("SELECT COUNT(*) FROM {job_schedule} WHERE type = :id AND callback = 'feeds_importer_expire' AND last <> 0 AND scheduled = 0", array(':id' => $id))->fetchField());
   }
 
   /**
@@ -265,7 +265,7 @@ class FeedsWebTestCase extends DrupalWebTestCase {
    */
   public function assertPlugins($id, $fetcher, $parser, $processor) {
     // Assert actual configuration.
-    $config = unserialize(db_result(db_query("SELECT config FROM {feeds_importer} WHERE id = '%s'", $id)));
+    $config = unserialize(db_query("SELECT config FROM {feeds_importer} WHERE id = :id", array(':id' => $id))->fetchField());
 
     $this->assertEqual($config['fetcher']['plugin_key'], $fetcher, 'Correct fetcher');
     $this->assertEqual($config['parser']['plugin_key'], $parser, 'Correct parser');
diff --git a/tests/feeds_mapper_locale.test b/tests/feeds_mapper_locale.test
index 8ce6fa07894922dad41e7a31f52a46f30b51381f..292dd35789e08a4d5c886e8dc5ead801ced34e43 100644
--- a/tests/feeds_mapper_locale.test
+++ b/tests/feeds_mapper_locale.test
@@ -110,7 +110,7 @@ class FeedsMapperLocaleTestCase extends FeedsMapperTestCase {
     );
     $this->drupalPost("node/$nid/edit", $edit, t('Save'));
     $this->drupalPost('node/'. $nid .'/import', array(), 'Import');
-    $count = db_result(db_query("SELECT COUNT(*) FROM {node} WHERE language = 'zh-hans'", $nid));
+    $count = db_query("SELECT COUNT(*) FROM {node} WHERE language = 'zh-hans'")->fetchField();
     $this->assertEqual(11, $count, 'Found correct number of nodes.');
   }
 }
diff --git a/tests/feeds_mapper_og.test b/tests/feeds_mapper_og.test
index b6a1d3c1ecef2d693807c9aa9768b202a69675e6..d0c25d49850c956ea8e60bd9bc1f162fc52ea404 100644
--- a/tests/feeds_mapper_og.test
+++ b/tests/feeds_mapper_og.test
@@ -116,7 +116,7 @@ class FeedsMapperOGTestCase extends FeedsMapperTestCase {
     $this->drupalPost('node/add/page', $edit, 'Save');
 
     // Count number of items for this group, should be 11.
-    $count = db_result(db_query("SELECT COUNT(*) FROM {og_ancestry} WHERE group_nid = %d", $group_nid));
+    $count = db_query("SELECT COUNT(*) FROM {og_ancestry} WHERE group_nid = :nid", array(':nid' => $group_nid))->fetchField();
     $this->assertEqual(11, $count, 'Found correct number of nodes in group.');
 
     // Make page (= feed content type) itself a group content type, test again.
@@ -132,7 +132,7 @@ class FeedsMapperOGTestCase extends FeedsMapperTestCase {
     $group_nid = $this->getNid($this->getUrl());
 
     // Count number of items for this group, should be 10.
-    $count = db_result(db_query("SELECT COUNT(*) FROM {og_ancestry} WHERE group_nid = %d", $group_nid));
+    $count = db_query("SELECT COUNT(*) FROM {og_ancestry} WHERE group_nid = :nid", array(':nid' => $group_nid))->fetchField();
     $this->assertEqual(10, $count, 'Found correct number of nodes in group.');
   }
 }
diff --git a/tests/feeds_mapper_taxonomy.test b/tests/feeds_mapper_taxonomy.test
index a6d486d678f2117c1642b52bee4013a20a6e0c56..c5d30d5f06eed7f994177768a95b1f6ea792fc9c 100644
--- a/tests/feeds_mapper_taxonomy.test
+++ b/tests/feeds_mapper_taxonomy.test
@@ -106,7 +106,7 @@ class FeedsMapperTaxonomyTestCase extends FeedsMapperTestCase {
     );
     $this->drupalPost("node/$nid/edit", $edit, t('Save'));
     $this->drupalPost('node/'. $nid .'/import', array(), 'Import');
-    $count = db_result(db_query("SELECT COUNT(*) FROM {term_node}", $nid));
+    $count = db_query("SELECT COUNT(*) FROM {term_node}")->fetchField();
     $this->assertEqual(33, $count, 'Found correct number of tags for all feed nodes and feed items.');
     foreach ($terms as $term) {
       $this->assertTaxonomyTerm($term);
@@ -132,8 +132,8 @@ class FeedsMapperTaxonomyTestCase extends FeedsMapperTestCase {
     // Assert 10 items aggregated after creation of the node.
     $this->assertText('Created 10 Story nodes.');
     // There should be 30 terms and 44 term-node relations.
-    $this->assertEqual(30, db_result(db_query("SELECT count(*) FROM {term_data}")), "Found correct number of terms.");
-    $this->assertEqual(44, db_result(db_query("SELECT count(*) FROM {term_node}")), "Found correct number of term-node relations.");
+    $this->assertEqual(30, db_query("SELECT count(*) FROM {term_data}")->fetchField(), "Found correct number of terms.");
+    $this->assertEqual(44, db_query("SELECT count(*) FROM {term_node}")->fetchField(), "Found correct number of term-node relations.");
 
     // Take a look at the actual terms on frontpage.
     $this->drupalGet('node');
@@ -176,8 +176,8 @@ class FeedsMapperTaxonomyTestCase extends FeedsMapperTestCase {
     // Delete all items, all associations are gone.
     $this->drupalPost('node/'. $nid .'/delete-items', array(), 'Delete');
     $this->assertText('Deleted 10 nodes.');
-    $this->assertEqual(30, db_result(db_query("SELECT count(*) FROM {term_data}")), "Found correct number of terms.");
-    $this->assertEqual(0, db_result(db_query("SELECT count(*) FROM {term_node}")), "Found correct number of term-node relations.");
+    $this->assertEqual(30, db_query("SELECT count(*) FROM {term_data}")->fetchField(), "Found correct number of terms.");
+    $this->assertEqual(0, db_query("SELECT count(*) FROM {term_node}")->fetchField(), "Found correct number of term-node relations.");
 
     // Remove "Tag" setting, import again.
     $edit = array(
@@ -188,8 +188,8 @@ class FeedsMapperTaxonomyTestCase extends FeedsMapperTestCase {
     $this->assertText('Created 10 Story nodes.');
 
     // We should only get one term-node association per node.
-    $this->assertEqual(30, db_result(db_query("SELECT count(*) FROM {term_data}")), "Found correct number of terms.");
-    $this->assertEqual(10, db_result(db_query("SELECT count(*) FROM {term_node}")), "Found correct number of term-node relations.");
+    $this->assertEqual(30, db_query("SELECT count(*) FROM {term_data}")->fetchField(), "Found correct number of terms.");
+    $this->assertEqual(10, db_query("SELECT count(*) FROM {term_node}")->fetchField(), "Found correct number of term-node relations.");
 
     // Delete all items.
     $this->drupalPost('node/'. $nid .'/delete-items', array(), 'Delete');
@@ -203,8 +203,8 @@ class FeedsMapperTaxonomyTestCase extends FeedsMapperTestCase {
     $this->assertText('Created 10 Story nodes.');
 
     // We should get all term-node associations again.
-    $this->assertEqual(30, db_result(db_query("SELECT count(*) FROM {term_data}")), "Found correct number of terms.");
-    $this->assertEqual(44, db_result(db_query("SELECT count(*) FROM {term_node}")), "Found correct number of term-node relations.");
+    $this->assertEqual(30, db_query("SELECT count(*) FROM {term_data}")->fetchField(), "Found correct number of terms.");
+    $this->assertEqual(44, db_query("SELECT count(*) FROM {term_node}")->fetchField(), "Found correct number of term-node relations.");
 
     // Delete all items.
     $this->drupalPost('node/'. $nid .'/delete-items', array(), 'Delete');
@@ -217,8 +217,8 @@ class FeedsMapperTaxonomyTestCase extends FeedsMapperTestCase {
     $this->assertText('Created 10 Story nodes.');
 
     // This term should now be missing from term-node associations.
-    $this->assertEqual(29, db_result(db_query("SELECT count(*) FROM {term_data}")), "Found correct number of terms.");
-    $this->assertEqual(39, db_result(db_query("SELECT count(*) FROM {term_node}")), "Found correct number of term-node relations.". db_result(db_query("SELECT count(*) FROM {term_node}")));
+    $this->assertEqual(29, db_query("SELECT count(*) FROM {term_data}")->fetchField(), "Found correct number of terms.");
+    $this->assertEqual(39, db_query("SELECT count(*) FROM {term_node}")->fetchField(), "Found correct number of term-node relations.");
   }
 
   /**
diff --git a/tests/feeds_parser_sitemap.test b/tests/feeds_parser_sitemap.test
index 13c2d70862ebcb4dc6f6786a940880047d4a059c..f61609082b9137cb8a742b0c6d0896bf82ba3aa4 100644
--- a/tests/feeds_parser_sitemap.test
+++ b/tests/feeds_parser_sitemap.test
@@ -83,15 +83,15 @@ class FeedsSitemapParserTestCase extends FeedsWebTestCase {
     $this->assertText('Created 5 Story nodes.');
 
     // Assert DB status.
-    $count = db_result(db_query("SELECT COUNT(*) FROM {feeds_node_item}"));
+    $count = db_query("SELECT COUNT(*) FROM {feeds_node_item}")->fetchField();
     $this->assertEqual($count, 5, 'Accurate number of items in database.');
 
     // Check items against known content of feed.
-    $result = db_query('SELECT * FROM {feeds_node_item} WHERE feed_nid = %d ORDER BY nid', $nid);
+    $items = db_query('SELECT * FROM {feeds_node_item} WHERE feed_nid = :nid ORDER BY nid', array(':nid' => $nid));
 
     // Check first item.
     date_default_timezone_set('GMT');
-    $item = db_fetch_object($result);
+    $item = $items->fetch();
     $node = node_load($item->nid);
     $this->assertEqual($node->title, 'monthly', 'Feed item 1 changefreq is correct.');
     $this->assertEqual($node->body, '0.8', 'Feed item 1 priority is correct.');
@@ -100,7 +100,7 @@ class FeedsSitemapParserTestCase extends FeedsWebTestCase {
     $this->assertEqual($node->feeds_node_item->url, $node->feeds_node_item->guid, 'Feed item 1 guid is correct.');
 
     // Check second item.
-    $item = db_fetch_object($result);
+    $item = $items->fetch();
     $node = node_load($item->nid);
     $this->assertEqual($node->title, 'weekly', 'Feed item 2 changefreq is correct.');
     $this->assertEqual($node->body, '', 'Feed item 2 priority is correct.');
@@ -109,7 +109,7 @@ class FeedsSitemapParserTestCase extends FeedsWebTestCase {
     $this->assertEqual($node->feeds_node_item->url, $node->feeds_node_item->guid, 'Feed item 2 guid is correct.');
 
     // Check third item.
-    $item = db_fetch_object($result);
+    $item = $items->fetch();
     $node = node_load($item->nid);
     $this->assertEqual($node->title, 'weekly', 'Feed item 3 changefreq is correct.');
     $this->assertEqual($node->body, '', 'Feed item 3 priority is correct.');
@@ -118,7 +118,7 @@ class FeedsSitemapParserTestCase extends FeedsWebTestCase {
     $this->assertEqual($node->feeds_node_item->url, $node->feeds_node_item->guid, 'Feed item 3 guid is correct.');
 
     // Check fourth item.
-    $item = db_fetch_object($result);
+    $item = $items->fetch();
     $node = node_load($item->nid);
     $this->assertEqual($node->title, '', 'Feed item 4 changefreq is correct.');
     $this->assertEqual($node->body, '0.3', 'Feed item 4 priority is correct.');
@@ -127,7 +127,7 @@ class FeedsSitemapParserTestCase extends FeedsWebTestCase {
     $this->assertEqual($node->feeds_node_item->url, $node->feeds_node_item->guid, 'Feed item 1 guid is correct.');
 
     // Check fifth item.
-    $item = db_fetch_object($result);
+    $item = $items->fetch();
     $node = node_load($item->nid);
     $this->assertEqual($node->title, '', 'Feed item 5 changefreq is correct.');
     $this->assertEqual($node->body, '', 'Feed item 5 priority is correct.');
@@ -136,7 +136,7 @@ class FeedsSitemapParserTestCase extends FeedsWebTestCase {
     $this->assertEqual($node->feeds_node_item->url, $node->feeds_node_item->guid, 'Feed item 5 guid is correct.');
 
     // Check for more items.
-    $item = db_fetch_object($result);
+    $item = $items->fetch();
     $this->assertFalse($item, 'Correct number of feed items recorded.');
   }
 }
diff --git a/tests/feeds_processor_node.test b/tests/feeds_processor_node.test
index 175e03dc4927c3f4f683c5f7985d8bad86d24b7e..7bb762eada6e6130de290d03634cd3629a8ba898 100644
--- a/tests/feeds_processor_node.test
+++ b/tests/feeds_processor_node.test
@@ -92,11 +92,11 @@ class FeedsRSStoNodesTest extends FeedsWebTestCase {
     $this->assertRaw('node/'. $nid .'/delete-items');
 
     // Navigate to a non-feed node, there should be no Feeds tabs visible.
-    $story_nid = db_result(db_query_range('SELECT nid FROM {node} WHERE type = "story"', 0, 1));
+    $story_nid = db_query_range('SELECT nid FROM {node} WHERE type = "story"', 0, 1)->fetchField();
     $this->drupalGet('node/'. $story_nid);
     $this->assertNoRaw('node/'. $story_nid .'/import');
     $this->assertNoRaw('node/'. $story_nid .'/delete-items');
-    $this->assertEqual("Created/updated by FeedsNodeProcessor", db_result(db_query("SELECT nr.log FROM {node} n JOIN {node_revisions} nr ON n.vid = nr.vid WHERE n.nid = %d", $story_nid)));
+    $this->assertEqual("Created/updated by FeedsNodeProcessor", db_query("SELECT nr.log FROM {node} n JOIN {node_revisions} nr ON n.vid = nr.vid WHERE n.nid = :nid", array(':nid' => $story_nid))->fetchField());
 
     // Assert accuracy of aggregated information.
     $this->drupalGet('node');
@@ -133,11 +133,11 @@ class FeedsRSStoNodesTest extends FeedsWebTestCase {
     $this->assertText('The first major change is switching');
 
     // Assert DB status.
-    $count = db_result(db_query("SELECT COUNT(*) FROM {node} n INNER JOIN {feeds_node_item} fn ON n.nid = fn.nid"));
+    $count = db_query("SELECT COUNT(*) FROM {node} n INNER JOIN {feeds_node_item} fn ON n.nid = fn.nid")->fetchField();
     $this->assertEqual($count, 10, 'Accurate number of items in database.');
 
     // Assert default input format on first imported feed node.
-    $format = db_result(db_query_range("SELECT nr.format FROM {feeds_node_item} fi JOIN {node} n ON fi.nid = n.nid JOIN {node_revisions} nr ON n.vid = nr.vid", 0, 1));
+    $format = db_query_range("SELECT nr.format FROM {feeds_node_item} fi JOIN {node} n ON fi.nid = n.nid JOIN {node_revisions} nr ON n.vid = nr.vid", 0, 1)->fetchField();
     $this->assertEqual($format, FILTER_FORMAT_DEFAULT, 'Using default Input format.');
 
     // Import again.
@@ -145,12 +145,12 @@ class FeedsRSStoNodesTest extends FeedsWebTestCase {
     $this->assertText('There is no new content.');
 
     // Assert DB status, there still shouldn't be more than 10 items.
-    $count = db_result(db_query("SELECT COUNT(*) FROM {node} n INNER JOIN {feeds_node_item} fn ON n.nid = fn.nid"));
+    $count = db_query("SELECT COUNT(*) FROM {node} n INNER JOIN {feeds_node_item} fn ON n.nid = fn.nid")->fetchField();
     $this->assertEqual($count, 10, 'Accurate number of items in database.');
 
     // All of the above tests should have produced published nodes, set default
     // to unpublished, import again.
-    $count = db_result(db_query("SELECT COUNT(*) FROM {node} n INNER JOIN {feeds_node_item} fn ON n.nid = fn.nid WHERE n.status = 1"));
+    $count = db_query("SELECT COUNT(*) FROM {node} n INNER JOIN {feeds_node_item} fn ON n.nid = fn.nid WHERE n.status = 1")->fetchField();
     $this->assertEqual($count, 10, 'All items are published.');
     $edit = array(
       'node_options[status]' => FALSE,
@@ -158,7 +158,7 @@ class FeedsRSStoNodesTest extends FeedsWebTestCase {
     $this->drupalPost('admin/content/node-type/story', $edit, t('Save content type'));
     $this->drupalPost('node/'. $nid .'/delete-items', array(), 'Delete');
     $this->drupalPost('node/'. $nid .'/import', array(), 'Import');
-    $count = db_result(db_query("SELECT COUNT(*) FROM {node} n INNER JOIN {feeds_node_item} fn ON n.nid = fn.nid WHERE n.status = 0"));
+    $count = db_query("SELECT COUNT(*) FROM {node} n INNER JOIN {feeds_node_item} fn ON n.nid = fn.nid WHERE n.status = 0")->fetchField();
     $this->assertEqual($count, 10, 'No items are published.');
     $edit = array(
       'node_options[status]' => TRUE,
@@ -185,7 +185,7 @@ class FeedsRSStoNodesTest extends FeedsWebTestCase {
     $this->assertText('There is no new content.');
 
     // Assert DB status, there still shouldn't be more than 10 items.
-    $count = db_result(db_query("SELECT COUNT(*) FROM {feeds_node_item}"));
+    $count = db_query("SELECT COUNT(*) FROM {feeds_node_item}")->fetchField();
     $this->assertEqual($count, 10, 'Accurate number of items in database.');
 
     // Now delete all items.
@@ -193,7 +193,7 @@ class FeedsRSStoNodesTest extends FeedsWebTestCase {
     $this->assertText('Deleted 10 nodes.');
 
     // Assert DB status, now there should be no items.
-    $count = db_result(db_query("SELECT COUNT(*) FROM {feeds_node_item}"));
+    $count = db_query("SELECT COUNT(*) FROM {feeds_node_item}")->fetchField();
     $this->assertEqual($count, 0, 'Accurate number of items in database.');
 
     // Change author.
@@ -210,11 +210,11 @@ class FeedsRSStoNodesTest extends FeedsWebTestCase {
     // Assert author.
     $this->drupalGet('node');
     $this->assertPattern('/<span class="submitted">(.*?)'. check_plain($author->name) .'<\/span>/');
-    $count = db_result(db_query("SELECT COUNT(*) FROM {feeds_node_item} fi JOIN {node} n ON fi.nid = n.nid WHERE n.uid = %d", $author->uid));
+    $count = db_query("SELECT COUNT(*) FROM {feeds_node_item} fi JOIN {node} n ON fi.nid = n.nid WHERE n.uid = :uid", array(':uid' => $author->uid))->fetchField();
     $this->assertEqual($count, 10, 'Accurate number of items in database.');
 
     // Assert input format.
-    $format = db_result(db_query_range("SELECT nr.format FROM {feeds_node_item} fi JOIN {node} n ON fi.nid = n.nid JOIN {node_revisions} nr ON n.vid = nr.vid", 0, 1));
+    $format = db_query_range("SELECT nr.format FROM {feeds_node_item} fi JOIN {node} n ON fi.nid = n.nid JOIN {node_revisions} nr ON n.vid = nr.vid", 0, 1)->fetchField();
     $this->assertEqual($format, FILTER_FORMAT_DEFAULT + 1, 'Set non-default Input format.');
 
     // Set to update existing, remove authorship of above nodes and import again.
@@ -223,7 +223,7 @@ class FeedsRSStoNodesTest extends FeedsWebTestCase {
     $this->drupalPost('node/'. $nid .'/import', array(), 'Import');
     $this->drupalGet('node');
     $this->assertNoPattern('/<span class="submitted">(.*?)'. check_plain($author->name) .'<\/span>/');
-    $count = db_result(db_query("SELECT COUNT(*) FROM {feeds_node_item} fi JOIN {node} n ON fi.nid = n.nid WHERE n.uid = %d", $author->uid));
+    $count = db_query("SELECT COUNT(*) FROM {feeds_node_item} fi JOIN {node} n ON fi.nid = n.nid WHERE n.uid = :uid", array(':uid' => $author->uid))->fetchField();
     $this->assertEqual($count, 0, 'Accurate number of items in database.');
 
     // Map feed node's author to feed item author, update - feed node's items
@@ -239,8 +239,8 @@ class FeedsRSStoNodesTest extends FeedsWebTestCase {
     $this->drupalPost('node/'. $nid .'/import', array(), 'Import');
     $this->drupalGet('node');
     $this->assertNoPattern('/<span class="submitted">(.*?)'. check_plain($author->name) .'<\/span>/');
-    $uid = db_result(db_query("SELECT uid FROM {node} WHERE nid = %d", $nid));
-    $count = db_result(db_query("SELECT COUNT(*) FROM {node} WHERE uid = %d", $uid));
+    $uid = db_query("SELECT uid FROM {node} WHERE nid = :nid", array(':nid' => $nid))->fetchField();
+    $count = db_query("SELECT COUNT(*) FROM {node} WHERE uid = :uid", array(':uid' =>$uid))->fetchField();
     $this->assertEqual($count, 11, 'All feed item nodes are assigned to feed node author.');
 
     // Login with new user with only access content permissions.
@@ -336,7 +336,7 @@ class FeedsRSStoNodesTest extends FeedsWebTestCase {
     $this->assertText('The first major change is switching');
 
     // Assert DB status.
-    $count = db_result(db_query("SELECT COUNT(*) FROM {feeds_node_item}"));
+    $count = db_query("SELECT COUNT(*) FROM {feeds_node_item}")->fetchField();
     $this->assertEqual($count, 10, 'Accurate number of items in database.');
 
     // Import again.
@@ -344,7 +344,7 @@ class FeedsRSStoNodesTest extends FeedsWebTestCase {
     $this->assertText('There is no new content.');
 
     // Assert DB status, there still shouldn't be more than 10 items.
-    $count = db_result(db_query("SELECT COUNT(*) FROM {feeds_node_item}"));
+    $count = db_query("SELECT COUNT(*) FROM {feeds_node_item}")->fetchField();
     $this->assertEqual($count, 10, 'Accurate number of items in database.');
 
     // Enable replace existing and import updated feed file.
@@ -364,7 +364,7 @@ class FeedsRSStoNodesTest extends FeedsWebTestCase {
     $this->assertText('There is no new content.');
 
     // Assert DB status, there still shouldn't be more than 10 items.
-    $count = db_result(db_query("SELECT COUNT(*) FROM {feeds_node_item}"));
+    $count = db_query("SELECT COUNT(*) FROM {feeds_node_item}")->fetchField();
     $this->assertEqual($count, 10, 'Accurate number of items in database.');
 
     // Now delete all items.
@@ -372,7 +372,7 @@ class FeedsRSStoNodesTest extends FeedsWebTestCase {
     $this->assertText('Deleted 10 nodes.');
 
     // Assert DB status, now there should be no items.
-    $count = db_result(db_query("SELECT COUNT(*) FROM {feeds_node_item}"));
+    $count = db_query("SELECT COUNT(*) FROM {feeds_node_item}")->fetchField();
     $this->assertEqual($count, 0, 'Accurate number of items in database.');
 
     // Import again, we should find new content.
@@ -380,7 +380,7 @@ class FeedsRSStoNodesTest extends FeedsWebTestCase {
     $this->assertText('Created 10 Story nodes.');
 
     // Assert DB status, there should be 10 again.
-    $count = db_result(db_query("SELECT COUNT(*) FROM {feeds_node_item}"));
+    $count = db_query("SELECT COUNT(*) FROM {feeds_node_item}")->fetchField();
     $this->assertEqual($count, 10, 'Accurate number of items in database.');
 
     // Login with new user with only access content permissions.
diff --git a/tests/feeds_processor_user.test b/tests/feeds_processor_user.test
index b8408e867ec33b07e32b51099362d8aa5a269b61..589fc3814c9ed227dd52e24fb09906d5ff23e737 100644
--- a/tests/feeds_processor_user.test
+++ b/tests/feeds_processor_user.test
@@ -101,9 +101,9 @@ class FeedsCSVtoUsersTest extends FeedsWebTestCase {
     $this->assertText('Fester');
     $this->assertText('Gomez');
     $this->assertText('Pugsley');
-    $count = db_result(db_query("SELECT count(*) FROM {users_roles} WHERE rid = %d", $manager_rid));
+    $count = db_query("SELECT count(*) FROM {users_roles} WHERE rid = :rid", array(':rid' => $manager_rid))->fetchField();
     $this->assertEqual($count, 4, t('All imported users were assigned the manager role.'));
-    $count = db_result(db_query("SELECT count(*) FROM {users_roles} WHERE rid = %d", $admin_rid));
+    $count = db_query("SELECT count(*) FROM {users_roles} WHERE rid = :rid", array(':rid' => $admin_rid))->fetchField();
     $this->assertEqual($count, 0, t('No imported user was assigned the administrator role.'));
 
     // @todo Test status setting, update existing and role settings.
diff --git a/tests/feeds_scheduler.test b/tests/feeds_scheduler.test
index f2e3d97cf5ab4c32bda2ce1082aa9930ca781e56..6922f3b42225fdbc105f4f1c64528f51eb7ef975 100644
--- a/tests/feeds_scheduler.test
+++ b/tests/feeds_scheduler.test
@@ -80,7 +80,7 @@ class FeedsSchedulerTestCase extends FeedsWebTestCase {
 
     // Check whether feed got properly added to scheduler.
     foreach ($nids as $nid) {
-      $this->assertEqual(1, db_result(db_query("SELECT COUNT(*) FROM {job_schedule} WHERE type = 'syndication' AND id = %d AND callback = 'feeds_source_import' AND last <> 0 AND scheduled = 0 AND period = 1800 AND periodic = 1", $nid)));
+      $this->assertEqual(1, db_query("SELECT COUNT(*) FROM {job_schedule} WHERE type = 'syndication' AND id = :nid AND callback = 'feeds_source_import' AND last <> 0 AND scheduled = 0 AND period = 1800 AND periodic = 1", array(':nid' => $nid))->fetchField());
     }
 
     // Take time for comparisons.
@@ -90,7 +90,7 @@ class FeedsSchedulerTestCase extends FeedsWebTestCase {
     // Log out and run cron, no changes.
     $this->drupalLogout();
     $this->runCron();
-    $count = db_result(db_query("SELECT COUNT(*) FROM {job_schedule} WHERE last > %d", $time));
+    $count = db_query("SELECT COUNT(*) FROM {job_schedule} WHERE last > :time", array(':time' => $time))->fetchField();
     $this->assertEqual($count, 0, '0 feeds refreshed on cron.');
 
     // Set next time to 0 to simulate updates.
@@ -100,12 +100,12 @@ class FeedsSchedulerTestCase extends FeedsWebTestCase {
     $this->runCron();
 
     $schedule = array();
-    $count = db_result(db_query("SELECT COUNT(*) FROM {job_schedule} WHERE last > %d", $time));
+    $count = db_query("SELECT COUNT(*) FROM {job_schedule} WHERE last > :time", array(':time' => $time))->fetchField();
     $this->assertEqual($count, 10, '10 feeds refreshed on cron.');
     $result = db_query("SELECT * FROM {job_schedule}", $time);
 
     // There should be 100 story nodes in the database.
-    $count = db_result(db_query("SELECT COUNT(*) FROM {node} WHERE type = 'story'"));
+    $count = db_query("SELECT COUNT(*) FROM {node} WHERE type = 'story'")->fetchField();
     $this->assertEqual($count, 100, 'There are 100 story nodes aggregated.');
 
     // Hit twice cron again.
@@ -114,19 +114,19 @@ class FeedsSchedulerTestCase extends FeedsWebTestCase {
 
     // There should be feeds_schedule_num X 2 (= 20) feeds updated now.
     $schedule = array();
-    $result = db_query("SELECT id, last, scheduled FROM {job_schedule} WHERE last > %d", $time);
-    while ($row = db_fetch_object($result)) {
+    $rows = db_query("SELECT id, last, scheduled FROM {job_schedule} WHERE last > :time", array(':time' => $time));
+    foreach ($rows as $row) {
       $schedule[$row->id] = $row;
     }
     $this->assertEqual(count($schedule), 20, '20 feeds refreshed on cron.');
 
     // There should be 200 story nodes in the database.
-    $count = db_result(db_query("SELECT COUNT(*) FROM {node} WHERE type = 'story' AND status = 1"));
+    $count = db_query("SELECT COUNT(*) FROM {node} WHERE type = 'story' AND status = 1")->fetchField();
     $this->assertEqual($count, 200, 'There are 200 story nodes aggregated.');
 
     // There shouldn't be any items with scheduled = 1 now, if so, this would
     // mean they are stuck.
-    $count = db_result(db_query("SELECT COUNT(*) FROM {job_schedule} WHERE scheduled = 1"));
+    $count = db_query("SELECT COUNT(*) FROM {job_schedule} WHERE scheduled = 1")->fetchField();
     $this->assertEqual($count, 0, 'All items are unscheduled (schedule flag = 0).');
 
     // Hit cron again twice.
@@ -136,8 +136,8 @@ class FeedsSchedulerTestCase extends FeedsWebTestCase {
     // The import_period setting of the feed configuration is 1800, there
     // shouldn't be any change to the database now.
     $equal = TRUE;
-    $result = db_query("SELECT id, last, scheduled FROM {job_schedule} WHERE last > %d", $time);
-    while ($row = db_fetch_object($result)) {
+    $rows = db_query("SELECT id, last, scheduled FROM {job_schedule} WHERE last > :time", array(':time' => $time));
+    foreach ($rows as $row) {
       $equal = $equal && ($row->last == $schedule[$row->id]->last);
     }
     $this->assertTrue($equal, 'Schedule did not change.');
@@ -154,8 +154,8 @@ class FeedsSchedulerTestCase extends FeedsWebTestCase {
     // Hit cron once, this should cause Feeds to reschedule all entries.
     $this->runCron();
     $equal = FALSE;
-    $result = db_query("SELECT id, last, scheduled FROM {job_schedule} WHERE last > %d", $time);
-    while ($row = db_fetch_object($result)) {
+    $rows = db_query("SELECT id, last, scheduled FROM {job_schedule} WHERE last > :time", array(':time' => $time));
+    foreach ($rows as $row) {
       $equal = $equal && ($row->last == $schedule[$row->id]->last);
       $schedule[$row->id] = $row;
     }
@@ -166,29 +166,29 @@ class FeedsSchedulerTestCase extends FeedsWebTestCase {
       $this->runCron();
     }
     $equal = FALSE;
-    $result = db_query("SELECT id, last, scheduled FROM {job_schedule} WHERE last > %d", $time);
-    while ($row = db_fetch_object($result)) {
+    $rows = db_query("SELECT id, last, scheduled FROM {job_schedule} WHERE last > :time", array(':time' => $time));
+    foreach ($rows as $row) {
       $equal = $equal && ($row->last == $schedule[$row->id]->last);
     }
     $this->assertFalse($equal, 'Every feed schedule time changed.');
 
     // There should be 200 story nodes in the database.
-    $count = db_result(db_query("SELECT COUNT(*) FROM {node} WHERE type = 'story' AND status = 1"));
+    $count = db_query("SELECT COUNT(*) FROM {node} WHERE type = 'story' AND status = 1")->fetchField();
     $this->assertEqual($count, 200, 'The total of 200 story nodes has not changed.');
 
     // Set expire settings, check rescheduling.
-    $max_last = db_result(db_query("SELECT MAX(last) FROM {job_schedule} WHERE type = 'syndication' AND callback = 'feeds_source_import' AND period = 0"));
-    $min_last = db_result(db_query("SELECT MIN(last) FROM {job_schedule} WHERE type = 'syndication' AND callback = 'feeds_source_import' AND period = 0"));
-    $this->assertEqual(0, db_result(db_query("SELECT COUNT(*) FROM {job_schedule} WHERE type = 'syndication' AND callback = 'feeds_importer_expire' AND last <> 0 AND scheduled = 0")));
+    $max_last = db_query("SELECT MAX(last) FROM {job_schedule} WHERE type = 'syndication' AND callback = 'feeds_source_import' AND period = 0")->fetchField();
+    $min_last = db_query("SELECT MIN(last) FROM {job_schedule} WHERE type = 'syndication' AND callback = 'feeds_source_import' AND period = 0")->fetchField();
+    $this->assertEqual(0, db_query("SELECT COUNT(*) FROM {job_schedule} WHERE type = 'syndication' AND callback = 'feeds_importer_expire' AND last <> 0 AND scheduled = 0")->fetchField());
     $this->loginAdmin();
     $this->setSettings('syndication', 'FeedsNodeProcessor', array('expire' => 86400));
     $this->drupalLogout();
     sleep(1);
     $this->runCron();
     // There should be a feeds_importer_expire callback now, and all last fields should be reset.
-    $this->assertEqual(1, db_result(db_query("SELECT COUNT(*) FROM {job_schedule} WHERE type = 'syndication' AND callback = 'feeds_importer_expire' AND last <> 0 AND scheduled = 0 AND period = 3600")));
-    $new_max_last = db_result(db_query("SELECT MAX(last) FROM {job_schedule} WHERE type = 'syndication' AND callback = 'feeds_source_import' AND period = 0"));
-    $new_min_last = db_result(db_query("SELECT MIN(last) FROM {job_schedule} WHERE type = 'syndication' AND callback = 'feeds_source_import' AND period = 0"));
+    $this->assertEqual(1, db_query("SELECT COUNT(*) FROM {job_schedule} WHERE type = 'syndication' AND callback = 'feeds_importer_expire' AND last <> 0 AND scheduled = 0 AND period = 3600")->fetchField());
+    $new_max_last = db_query("SELECT MAX(last) FROM {job_schedule} WHERE type = 'syndication' AND callback = 'feeds_source_import' AND period = 0")->fetchField();
+    $new_min_last = db_query("SELECT MIN(last) FROM {job_schedule} WHERE type = 'syndication' AND callback = 'feeds_source_import' AND period = 0")->fetchField();
     $this->assertNotEqual($new_max_last, $max_last);
     $this->assertNotEqual($new_min_last, $min_last);
     $this->assertEqual($new_max_last, $new_min_last);
@@ -201,25 +201,25 @@ class FeedsSchedulerTestCase extends FeedsWebTestCase {
     $this->drupalLogout();
     sleep(1);
     $this->runCron();
-    $new_max_last = db_result(db_query("SELECT MAX(last) FROM {job_schedule} WHERE type = 'syndication' AND callback = 'feeds_source_import' AND period = 3600"));
-    $new_min_last = db_result(db_query("SELECT MIN(last) FROM {job_schedule} WHERE type = 'syndication' AND callback = 'feeds_source_import' AND period = 3600"));
+    $new_max_last = db_query("SELECT MAX(last) FROM {job_schedule} WHERE type = 'syndication' AND callback = 'feeds_source_import' AND period = 3600")->fetchField();
+    $new_min_last = db_query("SELECT MIN(last) FROM {job_schedule} WHERE type = 'syndication' AND callback = 'feeds_source_import' AND period = 3600")->fetchField();
     $this->assertNotEqual($new_max_last, $max_last);
     $this->assertNotEqual($new_min_last, $min_last);
     $this->assertEqual($new_max_last, $new_min_last);
-    $this->assertEqual(0, db_result(db_query("SELECT COUNT(*) FROM {job_schedule} WHERE type = 'syndication' AND callback = 'feeds_source_import' AND period <> 3600")));
-    $this->assertEqual(1, db_result(db_query("SELECT COUNT(*) FROM {job_schedule} WHERE type = 'syndication' AND callback = 'feeds_importer_expire' AND period = 3600 AND last = %d", $new_min_last)));
+    $this->assertEqual(0, db_query("SELECT COUNT(*) FROM {job_schedule} WHERE type = 'syndication' AND callback = 'feeds_source_import' AND period <> 3600")->fetchField());
+    $this->assertEqual(1, db_query("SELECT COUNT(*) FROM {job_schedule} WHERE type = 'syndication' AND callback = 'feeds_importer_expire' AND period = 3600 AND last = :last", array(':last' => $new_min_last))->fetchField());
 
     // Delete source, delete importer, check schedule.
     $this->loginAdmin();
     $nid = array_shift($nids);
     $this->drupalPost("node/$nid/delete", array(), t('Delete'));
-    $this->assertEqual(0, db_result(db_query("SELECT COUNT(*) FROM {job_schedule} WHERE type = 'syndication' AND callback = 'feeds_source_import' AND id = %d", $nid)));
-    $this->assertEqual(count($nids), db_result(db_query("SELECT COUNT(*) FROM {job_schedule} WHERE type = 'syndication' AND callback = 'feeds_source_import'")));
-    $this->assertEqual(1, db_result(db_query("SELECT COUNT(*) FROM {job_schedule} WHERE type = 'syndication' AND callback = 'feeds_importer_expire' AND id =0")));
+    $this->assertEqual(0, db_query("SELECT COUNT(*) FROM {job_schedule} WHERE type = 'syndication' AND callback = 'feeds_source_import' AND id = :nid", array(':nid' => $nid))->fetchField());
+    $this->assertEqual(count($nids), db_query("SELECT COUNT(*) FROM {job_schedule} WHERE type = 'syndication' AND callback = 'feeds_source_import'")->fetchField());
+    $this->assertEqual(1, db_query("SELECT COUNT(*) FROM {job_schedule} WHERE type = 'syndication' AND callback = 'feeds_importer_expire' AND id = 0")->fetchField());
 
     $this->drupalPost('admin/build/feeds/delete/syndication', array(), t('Delete'));
-    $this->assertEqual(0, db_result(db_query("SELECT COUNT(*) FROM {job_schedule} WHERE type = 'syndication' AND callback = 'feeds_importer_expire' AND id =0")));
-    $this->assertEqual(count($nids), db_result(db_query("SELECT COUNT(*) FROM {job_schedule} WHERE type = 'syndication' AND callback = 'feeds_source_import'")));
+    $this->assertEqual(0, db_query("SELECT COUNT(*) FROM {job_schedule} WHERE type = 'syndication' AND callback = 'feeds_importer_expire' AND id = 0")->fetchField());
+    $this->assertEqual(count($nids), db_query("SELECT COUNT(*) FROM {job_schedule} WHERE type = 'syndication' AND callback = 'feeds_source_import'")->fetchField());
   }
 
   /**
@@ -238,22 +238,22 @@ class FeedsSchedulerTestCase extends FeedsWebTestCase {
     for ($i = 0; $i < 3; $i++) {
       $this->runCron(1);
       // 50 == FEEDS_NODE_BATCH_SIZE
-      $this->assertEqual(50 * ($i + 1), db_result(db_query("SELECT COUNT(*) FROM {node} WHERE type = 'story'")));
-      $this->assertEqual(0, db_result(db_query("SELECT period FROM {job_schedule} WHERE type = 'syndication' AND id = %d", $nid)));
+      $this->assertEqual(50 * ($i + 1), db_query("SELECT COUNT(*) FROM {node} WHERE type = 'story'")->fetchField());
+      $this->assertEqual(0, db_query("SELECT period FROM {job_schedule} WHERE type = 'syndication' AND id = :nid", array(':nid' => $nid))->fetchField());
     }
     // Run one more time to cause the batch to reset, check period back to 1800.
     $this->runCron();
-    $this->assertEqual(1800, db_result(db_query("SELECT period FROM {job_schedule} WHERE type = 'syndication' AND id = %d", $nid)));
+    $this->assertEqual(1800, db_query("SELECT period FROM {job_schedule} WHERE type = 'syndication' AND id = :nid", array(':nid' => $nid))->fetchField());
 
     // Delete a couple of nodes, then hit cron again. They should not be replaced
     // as the minimum update time is 30 minutes.
-    $result = db_query_range("SELECT nid FROM {node} WHERE type = 'story'", 0, 2);
-    while ($node = db_fetch_object($result)) {
+    $nodes = db_query_range("SELECT nid FROM {node} WHERE type = 'story'", 0, 2);
+    foreach ($nodes as $node) {
       $this->drupalPost("node/{$node->nid}/delete", array(), 'Delete');
     }
-    $this->assertEqual(148, db_result(db_query("SELECT COUNT(*) FROM {node} WHERE type = 'story'")));
+    $this->assertEqual(148, db_query("SELECT COUNT(*) FROM {node} WHERE type = 'story'")->fetchField());
     $this->runCron();
-    $this->assertEqual(148, db_result(db_query("SELECT COUNT(*) FROM {node} WHERE type = 'story'")));
+    $this->assertEqual(148, db_query("SELECT COUNT(*) FROM {node} WHERE type = 'story'")->fetchField());
   }
 
   /**