From 0022126b96120f52f3744baf5e1b969fee492319 Mon Sep 17 00:00:00 2001 From: Timothy Warren Date: Tue, 13 Mar 2012 12:28:51 -0400 Subject: [PATCH] sqlite insert test --- sys/db/query_builder.php | 14 +++++++------- tests/databases/sqlite-qb.php | 10 ++++++++++ tests/test_dbs/FB_TEST_DB.FDB | Bin 802816 -> 802816 bytes 3 files changed, 17 insertions(+), 7 deletions(-) diff --git a/sys/db/query_builder.php b/sys/db/query_builder.php index 663ace9..d4b630d 100644 --- a/sys/db/query_builder.php +++ b/sys/db/query_builder.php @@ -424,10 +424,8 @@ class Query_Builder { } // Use the keys of the array to make the insert/update string - $this->set_array_keys = array_keys($this->set_array); - // Escape the field names - $this->set_array_keys = array_map(array($this, 'quote_ident'), $this->set_array_keys); + $this->set_array_keys = array_map(array($this->db, 'quote_ident'), array_keys($this->set_array)); // Generate the "set" string $this->set_string = implode('=?, ', $this->set_array_keys); @@ -587,10 +585,10 @@ class Query_Builder { case "insert": $param_count = count($this->set_array); - $params = array_file(0, $param_count, '?'); - $sql = 'INSERT (' . implode(', ', $this->set_array_keys) . - ') INTO '. $this->quote_ident($table) . - 'VALUES ('.implode(', ', $params).')'; + $params = array_fill(0, $param_count, '?'); + $sql = 'INSERT INTO '. $this->db->quote_ident($table) . + '(' . implode(', ', $this->set_array_keys) . + ') VALUES ('.implode(', ', $params).')'; break; case "delete": @@ -598,6 +596,8 @@ class Query_Builder { break; } + echo $sql.'
'; + return $sql; } } diff --git a/tests/databases/sqlite-qb.php b/tests/databases/sqlite-qb.php index 5270d33..898275f 100644 --- a/tests/databases/sqlite-qb.php +++ b/tests/databases/sqlite-qb.php @@ -100,4 +100,14 @@ $this->assertIsA($query, 'PDOStatement'); } + + function TestInsert() + { + $query = $this->qb->set('id', 4) + ->set('key', 4) + ->set('val', 5) + ->insert('create_test'); + + $this->assertIsA($query, 'PDOStatement'); + } } \ No newline at end of file diff --git a/tests/test_dbs/FB_TEST_DB.FDB b/tests/test_dbs/FB_TEST_DB.FDB index 2a3cf1b0ed8bbae7069fc328fdc70eb7207d5237..7531aad0c7912a7d252581e6ad4e8e80be21f757 100755 GIT binary patch delta 528 zcmYL^yGsK>5XNWsE?-%przP|qS%Ovogm^~?m~9h`S^Bre>3ZOInT?D3FvoSg6g7}XN1nzXA9s% zZvZJa9ss6$Z#!2oxIiFv6w5~F{A?XM#e?`VDH4jLB14g>D59uFQLUmnMfJxNHA#Gy zB6jrDSRbOe7~G$9QMu7$H)eiKZ3XCZHg%p6!EhvPunil2Wde3(8s0?$CS(KLYd@rQ zRjaG@N}q3vG%RW@$`nk96wliDBVKu_10DWOV@AGMyk}#AhclR!PZs~#*v5qv+W89! zxt>S;-wWN_0-*z-;?1(J){U@!$4?n7h+FQ;;<&is`3w%^&wSE#Nb)&8sp26dReU_G zpYmD~3-ZL`g>LNQkGEKpELl7k(et%9*vO+vwDRXZ`Y1%p@M*;dt*Z5)6~K;VHeKx8Z!jbm@-5lK{_t?x+4~b6~m5z-$Kl0s4UsAr0n2oS0`7)fd w>&rRGMQBc@g}H9yMp~MaXVR?7mvyYT;SZOw<