cvs: php4 / NEWS /ext/mysql php_mysql.c php_mysql.h
| From: | Zeev Suraski | Date: | Wed, 11 Oct 2000 18:27:23 +0000 |
| Subject: | cvs: php4 / NEWS /ext/mysql php_mysql.c php_mysql.h | ||
| Groups: | php.cvs | ||
| Request: | Send a blank email to php-cvs+get-2002@lists.php.net to get a copy of this message | ||
zeev Wed Oct 11 11:27:23 2000 EDT
Modified files:
/php4 NEWS
/php4/ext/mysql php_mysql.c php_mysql.h
Log:
Added mysql_escape_String()
Index: php4/NEWS
diff -u php4/NEWS:1.467 php4/NEWS:1.468
--- php4/NEWS:1.467 Wed Oct 11 11:02:45 2000
+++ php4/NEWS Wed Oct 11 11:27:21 2000
@@ -2,6 +2,7 @@
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
11 Oct 2000, Version 4.0.3
+- Added mysql_escape_string() (Peter A. Savitch and & Brian Wang)
- Fixed many possible crash bugs with improper use of the printf() family of
functions (Andi)
- Fixed a problem that allowed users to override admin_value's and admin_flag's
Index: php4/ext/mysql/php_mysql.c
diff -u php4/ext/mysql/php_mysql.c:1.53 php4/ext/mysql/php_mysql.c:1.54
--- php4/ext/mysql/php_mysql.c:1.53 Sat Sep 30 09:14:54 2000
+++ php4/ext/mysql/php_mysql.c Wed Oct 11 11:27:21 2000
@@ -16,7 +16,7 @@
+----------------------------------------------------------------------+
*/
-/* $Id: php_mysql.c,v 1.53 2000/09/30 16:14:54 andi Exp $ */
+/* $Id: php_mysql.c,v 1.54 2000/10/11 18:27:21 zeev Exp $ */
/* TODO:
@@ -120,6 +120,7 @@
PHP_FE(mysql_field_len, NULL)
PHP_FE(mysql_field_type, NULL)
PHP_FE(mysql_field_flags, NULL)
+ PHP_FE(mysql_escape_string, NULL)
/* for downwards compatability */
PHP_FALIAS(mysql, mysql_db_query, NULL)
@@ -1069,6 +1070,27 @@
/* conversion from int64 to long happing here */
return_value->value.lval = (long) mysql_affected_rows(mysql);
return_value->type = IS_LONG;
+}
+/* }}} */
+
+
+/* {{{ proto char mysql_escape_string([char string])
+ Escape string for mysql query */
+PHP_FUNCTION(mysql_escape_string)
+{
+ zval **str;
+
+ if (ZEND_NUM_ARGS()!=1 || zend_get_parameters_ex(1, &str) == FAILURE) {
+ ZEND_WRONG_PARAM_COUNT();
+ }
+ convert_to_string_ex(str);
+ /* assume worst case situation, which is 2x of the original string.
+ * we don't realloc() down to the real size since it'd most probably not
+ * be worth it
+ */
+ Z_STRVAL_P(return_value) = (char *) emalloc(Z_STRLEN_PP(str)*2+1);
+ Z_STRLEN_P(return_value) = mysql_escape_string(Z_STRVAL_P(return_value), Z_STRVAL_PP(str),
Z_STRLEN_PP(str));
+ return_value->type = IS_STRING;
}
/* }}} */
Index: php4/ext/mysql/php_mysql.h
diff -u php4/ext/mysql/php_mysql.h:1.15 php4/ext/mysql/php_mysql.h:1.16
--- php4/ext/mysql/php_mysql.h:1.15 Wed Sep 20 14:43:57 2000
+++ php4/ext/mysql/php_mysql.h Wed Oct 11 11:27:21 2000
@@ -17,7 +17,7 @@
*/
-/* $Id: php_mysql.h,v 1.15 2000/09/20 21:43:57 brianlmoon Exp $ */
+/* $Id: php_mysql.h,v 1.16 2000/10/11 18:27:21 zeev Exp $ */
#ifndef PHP_MYSQL_H
#define PHP_MYSQL_H
@@ -75,6 +75,7 @@
PHP_FUNCTION(mysql_field_len);
PHP_FUNCTION(mysql_field_type);
PHP_FUNCTION(mysql_field_flags);
+PHP_FUNCTION(mysql_escape_string);
ZEND_BEGIN_MODULE_GLOBALS(mysql)
long default_link;