summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStefan Andres Charsley <[email protected]>2014-05-29 18:38:06 +1200
committerStefan Andres Charsley <[email protected]>2014-05-29 18:38:06 +1200
commit6a9b77c8a09e95af9c14f7ccd2c1ca00b1770fd2 (patch)
treeb3f09ecee7e477bc0e036c0a577bc6a379361e3f
parent4745ee73381c6a6bbb099cff745ac8781ce38ffc (diff)
Fix for parameter types.
-rw-r--r--idiorm.php15
1 files changed, 14 insertions, 1 deletions
diff --git a/idiorm.php b/idiorm.php
index 73072e6..0c36b6d 100644
--- a/idiorm.php
+++ b/idiorm.php
@@ -410,7 +410,20 @@
$statement = self::get_db($connection_name)->prepare($query);
self::$_last_statement = $statement;
$time = microtime(true);
- $q = $statement->execute($parameters);
+
+ $count = count($parameters);
+ for ($i = 0; $i < $count; $i++) {
+ $type = PDO::PARAM_STR;
+ if (is_null($parameters[i])) $type = PDO::PARAM_NULL;
+ if (is_bool($parameters[i])) $type = PDO::PARAM_BOOL;
+ if (is_numeric($parameters[i])) {
+ $type = PDO::PARAM_INT;
+ $parameters[$i] = +($parameters[$i]);
+ }
+ $statement->bindParams($i + 1, $parameters[$i], $type);
+ }
+
+ $q = $statement->execute();
self::_log_query($query, $parameters, $connection_name, (microtime(true)-$time));
return $q;