summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrey Hristov <andrey@php.net>2010-05-18 11:50:31 +0000
committerAndrey Hristov <andrey@php.net>2010-05-18 11:50:31 +0000
commit940e64dba31304c88ce7026c393bc77f0b9879ef (patch)
treee2540ba72bdaad32c01e082b6cab433b40879472
parent560169068da3ee93f81badf3aabc53020fdefb11 (diff)
downloadphp-git-940e64dba31304c88ce7026c393bc77f0b9879ef.tar.gz
Remove duplicated code.
Use one centralized functions for data extraction.
-rw-r--r--ext/mysql/php_mysql.c8
-rw-r--r--ext/mysqli/mysqli_api.c11
-rw-r--r--ext/mysqli/mysqli_nonapi.c30
3 files changed, 4 insertions, 45 deletions
diff --git a/ext/mysql/php_mysql.c b/ext/mysql/php_mysql.c
index b948fd2158..3056586e8c 100644
--- a/ext/mysql/php_mysql.c
+++ b/ext/mysql/php_mysql.c
@@ -1993,7 +1993,7 @@ static void php_mysql_fetch_hash(INTERNAL_FUNCTION_PARAMETERS, int result_type,
}
}
#else
- mysqlnd_fetch_into(mysql_result, MYSQLND_FETCH_ASSOC, return_value, MYSQLND_MYSQL);
+ mysqlnd_fetch_into(mysql_result, ((result_type & MYSQL_NUM)? MYSQLND_FETCH_NUM:0) | ((result_type & MYSQL_ASSOC)? MYSQLND_FETCH_ASSOC:0), return_value, MYSQLND_MYSQL);
#endif
#ifdef ZEND_ENGINE_2
@@ -2071,7 +2071,7 @@ static void php_mysql_fetch_hash(INTERNAL_FUNCTION_PARAMETERS, int result_type,
Gets a result row as an enumerated array */
PHP_FUNCTION(mysql_fetch_row)
{
-#ifdef MYSQL_USE_MYSQLND
+#if 1
MYSQL_RES *result;
zval *mysql_result;
@@ -2105,7 +2105,7 @@ PHP_FUNCTION(mysql_fetch_object)
Fetch a result row as an array (associative, numeric or both) */
PHP_FUNCTION(mysql_fetch_array)
{
-#ifndef MYSQL_USE_MYSQLND
+#if 1
php_mysql_fetch_hash(INTERNAL_FUNCTION_PARAM_PASSTHRU, 0, 2, 0);
#else
MYSQL_RES *result;
@@ -2132,7 +2132,7 @@ PHP_FUNCTION(mysql_fetch_array)
Fetch a result row as an associative array */
PHP_FUNCTION(mysql_fetch_assoc)
{
-#ifndef MYSQL_USE_MYSQLND
+#if 1
php_mysql_fetch_hash(INTERNAL_FUNCTION_PARAM_PASSTHRU, MYSQL_ASSOC, 1, 0);
#else
MYSQL_RES *result;
diff --git a/ext/mysqli/mysqli_api.c b/ext/mysqli/mysqli_api.c
index 57cc3187a9..332d5df8b2 100644
--- a/ext/mysqli/mysqli_api.c
+++ b/ext/mysqli/mysqli_api.c
@@ -1148,18 +1148,7 @@ PHP_FUNCTION(mysqli_fetch_lengths)
Get a result row as an enumerated array */
PHP_FUNCTION(mysqli_fetch_row)
{
-#if !defined(MYSQLI_USE_MYSQLND)
php_mysqli_fetch_into_hash(INTERNAL_FUNCTION_PARAM_PASSTHRU, MYSQLI_NUM, 0);
-#else
- MYSQL_RES *result;
- zval *mysql_result;
-
- if (zend_parse_method_parameters(ZEND_NUM_ARGS() TSRMLS_CC, getThis(), "O", &mysql_result, mysqli_result_class_entry) == FAILURE) {
- return;
- }
- MYSQLI_FETCH_RESOURCE(result, MYSQL_RES *, &mysql_result, "mysqli_result", MYSQLI_STATUS_VALID);
- mysqlnd_fetch_into(result, MYSQLND_FETCH_NUM, return_value, MYSQLND_MYSQLI);
-#endif
}
/* }}} */
diff --git a/ext/mysqli/mysqli_nonapi.c b/ext/mysqli/mysqli_nonapi.c
index 3267529b60..9c44c931d1 100644
--- a/ext/mysqli/mysqli_nonapi.c
+++ b/ext/mysqli/mysqli_nonapi.c
@@ -345,25 +345,7 @@ PHP_FUNCTION(mysqli_connect_error)
Fetch a result row as an associative array, a numeric array, or both */
PHP_FUNCTION(mysqli_fetch_array)
{
-#if !defined(MYSQLI_USE_MYSQLND)
php_mysqli_fetch_into_hash(INTERNAL_FUNCTION_PARAM_PASSTHRU, 0, 0);
-#else
- MYSQL_RES *result;
- zval *mysql_result;
- long mode = MYSQLND_FETCH_BOTH;
-
- if (zend_parse_method_parameters(ZEND_NUM_ARGS() TSRMLS_CC, getThis(), "O|l", &mysql_result, mysqli_result_class_entry, &mode) == FAILURE) {
- return;
- }
- MYSQLI_FETCH_RESOURCE(result, MYSQL_RES *, &mysql_result, "mysqli_result", MYSQLI_STATUS_VALID);
-
- if (mode < MYSQLI_ASSOC || mode > MYSQLI_BOTH) {
- php_error_docref(NULL TSRMLS_CC, E_WARNING, "The result type should be either MYSQLI_NUM, MYSQLI_ASSOC or MYSQLI_BOTH");
- RETURN_FALSE;
- }
-
- mysqlnd_fetch_into(result, mode, return_value, MYSQLND_MYSQLI);
-#endif
}
/* }}} */
@@ -371,19 +353,7 @@ PHP_FUNCTION(mysqli_fetch_array)
Fetch a result row as an associative array */
PHP_FUNCTION(mysqli_fetch_assoc)
{
-#if !defined(MYSQLI_USE_MYSQLND)
php_mysqli_fetch_into_hash(INTERNAL_FUNCTION_PARAM_PASSTHRU, MYSQLI_ASSOC, 0);
-#else
- MYSQL_RES *result;
- zval *mysql_result;
-
- if (zend_parse_method_parameters(ZEND_NUM_ARGS() TSRMLS_CC, getThis(), "O", &mysql_result, mysqli_result_class_entry) == FAILURE) {
- return;
- }
- MYSQLI_FETCH_RESOURCE(result, MYSQL_RES *, &mysql_result, "mysqli_result", MYSQLI_STATUS_VALID);
- mysqlnd_fetch_into(result, MYSQLND_FETCH_ASSOC, return_value, MYSQLND_MYSQLI);
-
-#endif
}
/* }}} */