diff --git a/acl.admin.inc b/acl.admin.inc
index 7b8cb82..cd1dab0 100644
--- a/acl.admin.inc
+++ b/acl.admin.inc
@@ -12,13 +12,20 @@ function _acl_edit_form($acl_id, $label = NULL, $new_acl = FALSE) {
   $users = array();
   if (!$new_acl) {
     // Ensure the ACL in question even exists.
-    if (!($record = db_query("SELECT name, number FROM {acl} WHERE acl_id = :acl_id", array(
-      'acl_id' => $acl_id,
-    ))->fetchAssoc())) {
+    $record = db_select('acl', 'a')
+      ->fields('a', array('name', 'number'))
+      ->condition('a.acl_id', $acl_id)
+      ->execute()
+      ->fetchAssoc();
+    if (!$record) {
       return array();
     }
-    $result = db_query("SELECT u.uid, u.name FROM {users} u LEFT JOIN {acl_user} aclu ON aclu.uid = u.uid WHERE acl_id = :acl_id", array(
-      'acl_id' => $acl_id));
+    $query = db_select('users', 'u');
+    $query->leftJoin('acl_user', 'aclu', 'aclu.uid = u.uid');
+    $result = $query
+      ->fields('u', array('uid', 'name'))
+      ->condition('aclu.acl_id', $acl_id)
+      ->execute();
     foreach ($result as $user) {
       $users[$user->uid] = $user->name;
     }
@@ -92,9 +99,11 @@ function _acl_edit_form_after_build($form, &$form_state) {
     }
   }
   elseif (isset($form_state['triggering_element']) && $form_state['triggering_element']['#value'] == $form['add_button']['#value'] && !empty($form['add']['#value'])) {
-    $user = db_query("SELECT uid, name FROM {users} WHERE name = :name", array(
-      'name' => $form['add']['#value'],
-    ))->fetchObject();
+    $user = db_select('users', 'u')
+      ->fields('u', array('uid', 'name'))
+      ->condition('u.name', $form['add']['#value'])
+      ->execute()
+      ->fetchObject();
     if (!$user || !$user->uid) {
       form_error($form['add'], t("Invalid user specified."));
     }
@@ -146,4 +155,3 @@ function acl_save_form($form, $priority = NULL) {
       ->execute();
   }
 }
-
diff --git a/acl.module b/acl.module
index 97c2c15..000b3d4 100644
--- a/acl.module
+++ b/acl.module
@@ -63,10 +63,12 @@ function acl_delete_acl($acl_id) {
  * Add the specified UID to an ACL.
  */
 function acl_add_user($acl_id, $uid) {
-  $test_uid = db_query("SELECT uid FROM {acl_user} WHERE acl_id = :acl_id AND uid = :uid", array(
-    'acl_id' => $acl_id,
-    'uid' => $uid,
-  ))->fetchField();
+  $test_uid = db_select('acl_user', 'aclu')
+    ->fields('aclu', array('uid'))
+    ->condition('aclu.acl_id', $acl_id)
+    ->condition('aclu.uid', $uid)
+    ->execute()
+    ->fetchField();
   if (!$test_uid) {
     db_insert('acl_user')
     ->fields(array(
@@ -189,26 +191,34 @@ function acl_get_id_by_number($module, $number) {
     ->fields('a', array('acl_id'))
     ->condition('a.module', $module)
     ->condition('a.number', $number);
-  return $query->execute()->fetchField();
+  return $query
+    ->execute()
+    ->fetchField();
 }
 
 /**
  * Determine whether an ACL has some assigned users.
  */
 function acl_has_users($acl_id) {
-  return db_query("SELECT COUNT(uid) FROM {acl_user} WHERE acl_id = :acl_id", array(
-    'acl_id' => $acl_id,
-  ))->fetchField();
+  return db_select('acl_user', 'aclu')
+    ->fields('aclu', array('uid'))
+    ->condition('aclu.acl_id', $acl_id)
+    ->countQuery()
+    ->execute()
+    ->fetchField();
 }
 
 /**
  * Determine whether an ACL has a specific assigned user.
  */
 function acl_has_user($acl_id, $uid) {
-  return db_query("SELECT COUNT(uid) FROM {acl_user} WHERE acl_id = :acl_id AND uid = :uid", array(
-    'acl_id' => $acl_id,
-    'uid' => $uid,
-  ))->fetchField();
+  return db_select('acl_user', 'aclu')
+    ->fields('aclu', array('uid'))
+    ->condition('aclu.acl_id', $acl_id)
+    ->condition('aclu.uid', $uid)
+    ->countQuery()
+    ->execute()
+    ->fetchField();
 }
 
 /**
@@ -227,7 +237,9 @@ function acl_get_ids_by_user($module, $uid, $name = NULL, $number = NULL) {
   if (isset($number)) {
     $query->condition('a.number', $number);
   }
-  $acl_ids = $query->execute()->fetchCol();
+  $acl_ids = $query
+    ->execute()
+    ->fetchCol();
   return $acl_ids;
 }
 
@@ -235,9 +247,11 @@ function acl_get_ids_by_user($module, $uid, $name = NULL, $number = NULL) {
  * Get the uids of an ACL.
  */
 function acl_get_uids($acl_id) {
-  $uids = db_query("SELECT uid FROM {acl_user} WHERE acl_id = :acl_id", array(
-    'acl_id' => $acl_id,
-  ))->fetchCol();
+  $uids = db_select('acl_user', 'aclu')
+    ->fields('aclu', array('uid'))
+    ->condition('aclu.acl_id', $acl_id)
+    ->execute()
+    ->fetchCol();
   return $uids;
 }
 
@@ -248,9 +262,15 @@ function acl_node_access_records($node) {
   if (!$node->nid) {
     return;
   }
-  $result = db_query("SELECT n.*, 'acl' AS realm, n.acl_id AS gid, a.module FROM {acl_node} n INNER JOIN {acl} a ON n.acl_id = a.acl_id WHERE nid = :nid", array(
-    'nid' => $node->nid,
-  ), array('fetch' => PDO::FETCH_ASSOC));
+  $query = db_select('acl_node', 'n', array('fetch' => PDO::FETCH_ASSOC));
+  $query->join('acl', 'a', 'n.acl_id = a.acl_id');
+  $query->addField('n', 'acl_id', 'gid');
+  $query->addField('a', 'module');
+  $query->addExpression("'acl'", 'realm');
+  $result = $query
+    ->fields('n')
+    ->condition('n.nid', $node->nid)
+    ->execute();
   $grants = array();
   foreach ($result as $grant) {
     if (module_invoke($grant['module'], 'enabled')) {
@@ -277,9 +297,13 @@ function acl_node_access_records($node) {
  * Implements hook_node_grants().
  */
 function acl_node_grants($account, $op) {
-  $acl_ids = db_query("SELECT acl_id FROM {acl_user} WHERE uid = :uid", array(
-    'uid' => $account->uid,
-  ))->fetchCol();
+
+  $acl_ids = db_select('acl_user', 'u')
+    ->fields('u', array('acl_id'))
+    ->condition('u.uid', $account->uid)
+    ->execute()
+    ->fetchCol();
+
   return (!empty($acl_ids) ? array('acl' => $acl_ids) : NULL);
 }
 
@@ -321,9 +345,11 @@ function acl_node_access_explain($row) {
   static $interpretations = array();
   if ($row->realm == 'acl') {
     if (!isset($interpretations[$row->gid])) {
-      $acl = db_query("SELECT * FROM {acl} WHERE acl_id = :acl_id", array(
-        'acl_id' => $row->gid,
-      ))->fetchObject();
+      $acl = db_select('acl', 'a')
+        ->fields('a')
+        ->condition('a.acl_id', $row->gid)
+        ->execute()
+        ->fetchObject();
       $acl->tag = '?';
       if (!isset($acl->name)) {
         $acl->tag = $acl->number;
@@ -334,9 +360,12 @@ function acl_node_access_explain($row) {
       else {
         $acl->tag = $acl->name . '-' . $acl->number;
       }
-      $result = db_query("SELECT u.name FROM {acl_user} au, {users} u WHERE au.acl_id = :acl_id AND au.uid = u.uid", array(
-        'acl_id' => $row->gid,
-      ));
+      $query = db_select('acl_user', 'au');
+      $query->join('users', 'u', 'au.uid = u.uid');
+      $query->fields('u', array('name'))
+        ->condition('au.acl_id', $row->gid);
+      $result = $query->execute();
+
       foreach ($result as $user) {
         $users[] = $user->name;
       }
@@ -345,9 +374,16 @@ function acl_node_access_explain($row) {
         $interpretations[$row->gid] = _acl_get_explanation("$acl->module/$acl->tag: $users", $acl->acl_id, $acl->module, $acl->name, $acl->number, $users);
       }
       elseif ($row->gid == 0) {
-        $result = db_query("SELECT an.acl_id, a.module, a.name FROM {acl_node} an JOIN {acl} a ON an.acl_id = a.acl_id LEFT JOIN {acl_user} au ON a.acl_id = au.acl_id WHERE an.nid = :nid AND au.uid IS NULL", array(
-          'nid' => $row->nid,
-        ));
+
+        $query = db_select('acl_node', 'an');
+        $query->join('acl', 'a', 'an.acl_id = a.acl_id');
+        $query->leftJoin('acl_user', 'au', 'a.acl_id = au.acl_id');
+        $query->fields('an', array('acl_id'))
+          ->fields('a', array('module', 'name'))
+          ->condition('an.nid', $row->nid)
+          ->isNull('au.uid');
+        $result = $query->execute();
+
         foreach ($result as $acl) {
           $rows[] = _acl_get_explanation("$acl->acl_id:&nbsp;$acl->module/$acl->tag", $acl->acl_id, $acl->module, $acl->name, $acl->number);
         }
@@ -375,4 +411,3 @@ function _acl_get_explanation($text, $acl_id, $module, $name, $number, $users =
   }
   return $text;
 }
-
diff --git a/tests/acl.test b/tests/acl.test
index 1b3bbf6..6279106 100644
--- a/tests/acl.test
+++ b/tests/acl.test
@@ -31,11 +31,19 @@ class AclWebTestCase extends DrupalWebTestCase {
     acl_create_acl('test1', $node1->title);
     $acl_id = acl_get_id_by_name('test1', $node1->title);
     $this->assertNotNull($acl_id, t('ACL ID was succesfully found.'), $group = 'ACL');
-    $records = db_query('SELECT acl_id, name FROM {acl} WHERE acl_id = :acl_id', array(':acl_id' => $acl_id))->fetchAll();
+    $records = db_select('acl', 'a')
+      ->fields('a', array('acl_id', 'name'))
+      ->condition('a.acl_id', $acl_id)
+      ->execute()
+      ->fetchAll();
     $this->assertEqual(count($records), 1, t('ACL was succesfully created.'), $group = 'ACL');
     acl_delete_acl($records[0]->acl_id);
 
-    $records = db_query('SELECT acl_id, name FROM {acl} WHERE acl_id = :acl_id', array(':acl_id' => $records[0]->acl_id))->fetchAll();
+    $records = db_select('acl', 'a')
+      ->fields('a', array('acl_id', 'name'))
+      ->condition('a.acl_id', $records[0]->acl_id)
+      ->execute()
+      ->fetchAll();
     $this->pass(var_export($records, TRUE));
     $this->assertEqual(count($records), 0, t('ACL was succesfully removed.'), $group = 'ACL');
   }
@@ -54,20 +62,32 @@ class AclWebTestCase extends DrupalWebTestCase {
     // made it in.
     $acl_id = acl_get_id_by_name('test2', $node1->title);
     $this->assertNotNull($acl_id, t('ACL ID was succesfully found.'), $group = 'ACL');
-    $records = db_query('SELECT acl_id, name FROM {acl} WHERE acl_id = :acl_id', array(':acl_id' => $acl_id))->fetchAll();
+    $records = db_select('acl', 'a')
+      ->fields('a', array('acl_id', 'name'))
+      ->condition('a.acl_id', $acl_id)
+      ->execute()
+      ->fetchAll();
     $this->assertEqual(count($records), 1, t('ACL was succesfully created.'), $group = 'ACL');
 
     // Add user (can't we use the user created in setup?).
     $web_user_1 = $this->drupalCreateUser();
     //$this->drupalLogin($web_user);
     acl_add_user($acl_id, $web_user_1->uid);
-    $records = db_query('SELECT acl_id, uid FROM {acl_user} WHERE uid = :uid', array(':uid' => $web_user_1->uid))->fetchAll();
+    $records = db_select('acl_user', 'u')
+      ->fields('u', array('acl_id', 'uid'))
+      ->condition('u.uid', $web_user_1->uid)
+      ->execute()
+      ->fetchAll();
     // Verify user is added.
     $this->assertEqual(count($records), 1, t('User was succesfully added.'), $group = 'ACL');
 
     // Remove user.
     acl_remove_user($acl_id, $web_user_1->uid);
-    $records = db_query('SELECT acl_id, uid FROM {acl_user} WHERE uid = :uid', array(':uid' => $web_user_1->uid))->fetchAll();
+    $records = db_select('acl_user', 'u')
+      ->fields('u', array('acl_id', 'uid'))
+      ->condition('u.uid', $web_user_1->uid)
+      ->execute()
+      ->fetchAll();
     // Verify user is removed.
     $this->assertEqual(count($records), 0, t('User was succesfully removed.'), $group = 'ACL');
   }
@@ -90,26 +110,51 @@ class AclWebTestCase extends DrupalWebTestCase {
     // Add two nodes.
     $query = db_select('node', 'n')
       ->fields('n', array('nid'))
-      ->condition('nid', array($node1->nid, $node2->nid), 'IN');
+      ->condition('n.nid', array($node1->nid, $node2->nid), 'IN');
     acl_add_nodes($query, $acl_id1, 1, 1, 1);
-    $count = db_query('SELECT COUNT(nid) FROM {acl_node} WHERE acl_id = :acl_id', array(':acl_id' => $acl_id1))->fetchField();
+    $count = db_select('acl_node', 'n')
+      ->fields('n', array('nid'))
+      ->condition('n.acl_id', $acl_id1)
+      ->countQuery()
+      ->execute()
+      ->fetchField();
     $this->assertEqual($count, 2, t("2 nodes under control ($count)."), $group = 'ACL');
     // Add a third node.
     acl_node_add_acl($node3->nid, $acl_id1, 1, 1, 1);
-    $count = db_query('SELECT COUNT(nid) FROM {acl_node} WHERE acl_id = :acl_id', array(':acl_id' => $acl_id1))->fetchField();
+    $count = db_select('acl_node', 'n')
+      ->fields('n', array('nid'))
+      ->condition('n.acl_id', $acl_id1)
+      ->countQuery()
+      ->execute()
+      ->fetchField();
     $this->assertEqual($count, 3, t('3 nodes under control.'), $group = 'ACL');
     // Add the second node again.
     acl_node_add_acl($node2->nid, $acl_id1, 1, 1, 1);
-    $count = db_query('SELECT COUNT(nid) FROM {acl_node} WHERE acl_id = :acl_id', array(':acl_id' => $acl_id1))->fetchField();
+    $count = db_select('acl_node', 'n')
+      ->fields('n', array('nid'))
+      ->condition('n.acl_id', $acl_id1)
+      ->countQuery()
+      ->execute()
+      ->fetchField();
     $this->assertEqual($count, 3, t('Still only 3 nodes under control.'), $group = 'ACL');
 
     // Remove the second node again.
     acl_node_remove_acl($node2->nid, $acl_id1);
-    $count = db_query('SELECT COUNT(nid) FROM {acl_node} WHERE acl_id = :acl_id', array(':acl_id' => $acl_id1))->fetchField();
+    $count = db_select('acl_node', 'n')
+      ->fields('n', array('nid'))
+      ->condition('n.acl_id', $acl_id1)
+      ->countQuery()
+      ->execute()
+      ->fetchField();
     $this->assertEqual($count, 2, t('2 nodes left under control.'), $group = 'ACL');
     // Remove the second node again.
     acl_node_remove_acl($node2->nid, $acl_id1);
-    $count = db_query('SELECT COUNT(nid) FROM {acl_node} WHERE acl_id = :acl_id', array(':acl_id' => $acl_id1))->fetchField();
+    $count = db_select('acl_node', 'n')
+      ->fields('n', array('nid'))
+      ->condition('n.acl_id', $acl_id1)
+      ->countQuery()
+      ->execute()
+      ->fetchField();
     $this->assertEqual($count, 2, t('Still 2 nodes left under control.'), $group = 'ACL');
 
     // Create another ACL and add nodes.
@@ -117,13 +162,28 @@ class AclWebTestCase extends DrupalWebTestCase {
     $this->assertNotNull($acl_id2, t('ACL ID was created.'), $group = 'ACL');
     acl_node_add_acl($node1->nid, $acl_id2, 1, 1, 1);
     acl_node_add_acl($node2->nid, $acl_id2, 1, 1, 1);
-    $count = db_query('SELECT COUNT(nid) FROM {acl_node} WHERE acl_id = :acl_id', array(':acl_id' => $acl_id2))->fetchField();
+    $count = db_select('acl_node', 'n')
+      ->fields('n', array('nid'))
+      ->condition('n.acl_id', $acl_id2)
+      ->countQuery()
+      ->execute()
+      ->fetchField();
     $this->assertEqual($count, 2, t('2 nodes under control.'), $group = 'ACL');
     // Remove a node (which has two ACLs).
     acl_node_clear_acls($node1->nid, 'test3');
-    $count = db_query('SELECT COUNT(nid) FROM {acl_node} WHERE acl_id = :acl_id', array(':acl_id' => $acl_id1))->fetchField();
+    $count = db_select('acl_node', 'n')
+      ->fields('n', array('nid'))
+      ->condition('n.acl_id', $acl_id1)
+      ->countQuery()
+      ->execute()
+      ->fetchField();
     $this->assertEqual($count, 1, t('1 node left under control.'), $group = 'ACL');
-    $count = db_query('SELECT COUNT(nid) FROM {acl_node} WHERE acl_id = :acl_id', array(':acl_id' => $acl_id2))->fetchField();
+    $count = db_select('acl_node', 'n')
+      ->fields('n', array('nid'))
+      ->condition('n.acl_id', $acl_id2)
+      ->countQuery()
+      ->execute()
+      ->fetchField();
     $this->assertEqual($count, 1, t('1 node left under control.'), $group = 'ACL');
   }
 
