summaryrefslogtreecommitdiff
path: root/program/lib/DB/fbsql.php
diff options
context:
space:
mode:
Diffstat (limited to 'program/lib/DB/fbsql.php')
-rw-r--r--program/lib/DB/fbsql.php71
1 files changed, 35 insertions, 36 deletions
diff --git a/program/lib/DB/fbsql.php b/program/lib/DB/fbsql.php
index b25868dc1..8ebcccd0c 100644
--- a/program/lib/DB/fbsql.php
+++ b/program/lib/DB/fbsql.php
@@ -18,7 +18,7 @@
* @package DB
* @author Frank M. Kromann <frank@frontbase.com>
* @author Daniel Convissor <danielc@php.net>
- * @copyright 1997-2005 The PHP Group
+ * @copyright 1997-2007 The PHP Group
* @license http://www.php.net/license/3_0.txt PHP License 3.0
* @version CVS: $Id$
* @link http://pear.php.net/package/DB
@@ -39,9 +39,9 @@ require_once 'DB/common.php';
* @package DB
* @author Frank M. Kromann <frank@frontbase.com>
* @author Daniel Convissor <danielc@php.net>
- * @copyright 1997-2005 The PHP Group
+ * @copyright 1997-2007 The PHP Group
* @license http://www.php.net/license/3_0.txt PHP License 3.0
- * @version Release: @package_version@
+ * @version Release: 1.7.13
* @link http://pear.php.net/package/DB
* @since Class functional since Release 1.7.0
*/
@@ -171,10 +171,10 @@ class DB_fbsql extends DB_common
$this->connection = @call_user_func_array($connect_function,
$params);
} else {
- ini_set('track_errors', 1);
+ @ini_set('track_errors', 1);
$this->connection = @call_user_func_array($connect_function,
$params);
- ini_set('track_errors', $ini);
+ @ini_set('track_errors', $ini);
}
if (!$this->connection) {
@@ -229,7 +229,7 @@ class DB_fbsql extends DB_common
}
// Determine which queries that should return data, and which
// should return an error code only.
- if (DB::isManip($query)) {
+ if ($this->_checkManip($query)) {
return DB_OK;
}
return $result;
@@ -320,7 +320,7 @@ class DB_fbsql extends DB_common
*/
function freeResult($result)
{
- return @fbsql_free_result($result);
+ return is_resource($result) ? fbsql_free_result($result) : false;
}
// }}}
@@ -353,7 +353,7 @@ class DB_fbsql extends DB_common
*/
function commit()
{
- @fbsql_commit();
+ @fbsql_commit($this->connection);
}
// }}}
@@ -366,7 +366,7 @@ class DB_fbsql extends DB_common
*/
function rollback()
{
- @fbsql_rollback();
+ @fbsql_rollback($this->connection);
}
// }}}
@@ -431,7 +431,7 @@ class DB_fbsql extends DB_common
*/
function affectedRows()
{
- if (DB::isManip($this->last_query)) {
+ if ($this->_last_query_manip) {
$result = @fbsql_affected_rows($this->connection);
} else {
$result = 0;
@@ -543,7 +543,7 @@ class DB_fbsql extends DB_common
*/
function modifyLimitQuery($query, $from, $count, $params = array())
{
- if (DB::isManip($query)) {
+ if (DB::isManip($query) || $this->_next_query_manip) {
return preg_replace('/^([\s(])*SELECT/i',
"\\1SELECT TOP($count)", $query);
} else {
@@ -553,38 +553,37 @@ class DB_fbsql extends DB_common
}
// }}}
- // {{{ quoteSmart()
+ // {{{ quoteBoolean()
/**
- * Formats input so it can be safely used in a query
- *
- * @param mixed $in the data to be formatted
- *
- * @return mixed the formatted data. The format depends on the input's
- * PHP type:
- * + null = the string <samp>NULL</samp>
- * + boolean = string <samp>TRUE</samp> or <samp>FALSE</samp>
- * + integer or double = the unquoted number
- * + other (including strings and numeric strings) =
- * the data escaped according to FrontBase's settings
- * then encapsulated between single quotes
+ * Formats a boolean value for use within a query in a locale-independent
+ * manner.
*
+ * @param boolean the boolean value to be quoted.
+ * @return string the quoted string.
* @see DB_common::quoteSmart()
- * @since Method available since Release 1.6.0
+ * @since Method available since release 1.7.8.
*/
- function quoteSmart($in)
- {
- if (is_int($in) || is_double($in)) {
- return $in;
- } elseif (is_bool($in)) {
- return $in ? 'TRUE' : 'FALSE';
- } elseif (is_null($in)) {
- return 'NULL';
- } else {
- return "'" . $this->escapeSimple($in) . "'";
- }
+ function quoteBoolean($boolean) {
+ return $boolean ? 'TRUE' : 'FALSE';
}
+
+ // }}}
+ // {{{ quoteFloat()
+ /**
+ * Formats a float value for use within a query in a locale-independent
+ * manner.
+ *
+ * @param float the float value to be quoted.
+ * @return string the quoted string.
+ * @see DB_common::quoteSmart()
+ * @since Method available since release 1.7.8.
+ */
+ function quoteFloat($float) {
+ return $this->escapeSimple(str_replace(',', '.', strval(floatval($float))));
+ }
+
// }}}
// {{{ fbsqlRaiseError()