From 5e0b9bb4519fa077c0863b67b607a8b9448e8334 Mon Sep 17 00:00:00 2001 From: Wez Furlong Date: Thu, 17 Apr 2003 02:20:26 +0000 Subject: [PATCH] Implement sqlite_escape_string() function. --- ext/sqlite/TODO | 5 +---- ext/sqlite/php_sqlite.h | 6 ++++-- ext/sqlite/sqlite.c | 25 ++++++++++++++++++++++++- 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 | +----------------------------------------------------------------------+ $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); + } +} +/* }}} */ + + -- 2.40.0