summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorWez Furlong <wez@php.net>2003-04-17 02:20:26 +0000
committerWez Furlong <wez@php.net>2003-04-17 02:20:26 +0000
commit5e0b9bb4519fa077c0863b67b607a8b9448e8334 (patch)
tree5e6cc3dd40cf642acb95643983404102a96b4f5e
parent2d14d8b52015f7cd972ab123f46777769df8e2ce (diff)
downloadphp-git-5e0b9bb4519fa077c0863b67b607a8b9448e8334.tar.gz
Implement sqlite_escape_string() function.
-rw-r--r--ext/sqlite/TODO5
-rw-r--r--ext/sqlite/php_sqlite.h6
-rw-r--r--ext/sqlite/sqlite.c25
3 files changed, 29 insertions, 7 deletions
diff --git a/ext/sqlite/TODO b/ext/sqlite/TODO
index a299ff032f..40f93467d8 100644
--- a/ext/sqlite/TODO
+++ b/ext/sqlite/TODO
@@ -1,9 +1,6 @@
-- Implement safe-mode checks on the filename when opening/creating the
- database.
-
- Implement a generic php function handler for use in SQL statements and
triggers etc.
-- Create a package.xml and make a release
+- Make a release
vim:tw=78
diff --git a/ext/sqlite/php_sqlite.h b/ext/sqlite/php_sqlite.h
index 3966c2d24c..206e20c7a2 100644
--- a/ext/sqlite/php_sqlite.h
+++ b/ext/sqlite/php_sqlite.h
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| PHP Version 4 |
+----------------------------------------------------------------------+
- | Copyright (c) 1997-2002 The PHP Group |
+ | Copyright (c) 1997-2003 The PHP Group |
+----------------------------------------------------------------------+
| This source file is subject to version 2.02 of the PHP license, |
| that is bundled with this package in the file LICENSE, and is |
@@ -12,7 +12,7 @@
| obtain it through the world-wide-web, please send a note to |
| license@php.net so we can mail you a copy immediately. |
+----------------------------------------------------------------------+
- | Author: |
+ | Author: Wez Furlong <wez@thebrainroom.com> |
+----------------------------------------------------------------------+
$Id$
@@ -56,6 +56,8 @@ PHP_FUNCTION(sqlite_libencoding);
PHP_FUNCTION(sqlite_changes);
PHP_FUNCTION(sqlite_last_insert_rowid);
+PHP_FUNCTION(sqlite_escape_string);
+
#ifdef ZTS
#define SQLITE_G(v) TSRMG(sqlite_globals_id, zend_sqlite_globals *, v)
#else
diff --git a/ext/sqlite/sqlite.c b/ext/sqlite/sqlite.c
index 7ff5a20e73..bd4ec3f855 100644
--- a/ext/sqlite/sqlite.c
+++ b/ext/sqlite/sqlite.c
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| PHP Version 4 |
+----------------------------------------------------------------------+
- | Copyright (c) 1997-2002 The PHP Group |
+ | Copyright (c) 1997-2003 The PHP Group |
+----------------------------------------------------------------------+
| This source file is subject to version 2.02 of the PHP license, |
| that is bundled with this package in the file LICENSE, and is |
@@ -55,6 +55,7 @@ function_entry sqlite_functions[] = {
PHP_FE(sqlite_num_fields, NULL)
PHP_FE(sqlite_field_name, NULL)
PHP_FE(sqlite_seek, NULL)
+ PHP_FE(sqlite_escape_string, NULL)
{NULL, NULL, NULL}
};
@@ -395,3 +396,25 @@ PHP_FUNCTION(sqlite_seek)
}
/* }}} */
+/* {{{ proto string sqlite_escape_string(string item)
+ Escapes a string for use as a query parameter */
+PHP_FUNCTION(sqlite_escape_string)
+{
+ char *string;
+ long stringlen;
+ char *ret;
+
+ if (FAILURE == zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "s", &string, &stringlen)) {
+ return;
+ }
+
+ ret = sqlite_mprintf("%q", string);
+
+ if (ret) {
+ RETVAL_STRING(ret, 1);
+ sqlite_freemem(ret);
+ }
+}
+/* }}} */
+
+