diff --git a/classes/query_builder.php b/classes/query_builder.php
index a9059cd..a415661 100644
--- a/classes/query_builder.php
+++ b/classes/query_builder.php
@@ -698,12 +698,12 @@ class Query_Builder {
$key = $this->quote_ident($key);
$params = array_fill(0, count($val), '?');
- foreach($val as &$v)
+ foreach($val as $v)
{
$this->values[] = $v;
}
- $string = $key . " {$in} ".implode(',', $params).') ';
+ $string = $key . " {$in} (".implode(',', $params).') ';
$this->query_map[] = array(
'type' => 'where_in',
@@ -1396,7 +1396,7 @@ class Query_Builder {
break;
}
- //echo $sql . '
';
+ // echo $sql . '
';
return $sql;
}
diff --git a/tests/core/db_qb_test.php b/tests/core/db_qb_test.php
index 19ff326..e0b539b 100644
--- a/tests/core/db_qb_test.php
+++ b/tests/core/db_qb_test.php
@@ -173,6 +173,19 @@ abstract class QBTest extends UnitTestCase {
// --------------------------------------------------------------------------
+ public function TestWhereIn()
+ {
+ if (empty($this->db)) return;
+
+ $query = $this->db->from('create_test')
+ ->where_in('id', array(0, 6, 56, 563, 341))
+ ->get();
+
+ $this->assertIsA($query, 'PDOStatement');
+ }
+
+ // --------------------------------------------------------------------------
+
public function TestSelectAvg()
{
if (empty($this->db)) return;
diff --git a/tests/db_files/FB_TEST_DB.FDB b/tests/db_files/FB_TEST_DB.FDB
index 6939e6f..4214e14 100644
Binary files a/tests/db_files/FB_TEST_DB.FDB and b/tests/db_files/FB_TEST_DB.FDB differ