]> granicus.if.org Git - php/commitdiff
MFH: New param parsing for ext/mysql
authorJohannes Schlüter <johannes@php.net>
Fri, 28 Nov 2008 20:23:49 +0000 (20:23 +0000)
committerJohannes Schlüter <johannes@php.net>
Fri, 28 Nov 2008 20:23:49 +0000 (20:23 +0000)
24 files changed:
ext/mysql/php_mysql.c
ext/mysql/tests/mysql_affected_rows.phpt
ext/mysql/tests/mysql_close.phpt
ext/mysql/tests/mysql_data_seek.phpt
ext/mysql/tests/mysql_db_name.phpt
ext/mysql/tests/mysql_errno.phpt
ext/mysql/tests/mysql_error.phpt
ext/mysql/tests/mysql_fetch_field.phpt
ext/mysql/tests/mysql_fetch_lengths.phpt
ext/mysql/tests/mysql_field_flags.phpt
ext/mysql/tests/mysql_field_len.phpt
ext/mysql/tests/mysql_field_name.phpt
ext/mysql/tests/mysql_field_table.phpt
ext/mysql/tests/mysql_field_type.phpt
ext/mysql/tests/mysql_free_result.phpt
ext/mysql/tests/mysql_get_host_info.phpt
ext/mysql/tests/mysql_get_proto_info.phpt
ext/mysql/tests/mysql_get_server_info.phpt
ext/mysql/tests/mysql_insert_id.phpt
ext/mysql/tests/mysql_list_dbs.phpt
ext/mysql/tests/mysql_list_tables.phpt
ext/mysql/tests/mysql_num_fields.phpt
ext/mysql/tests/mysql_num_rows.phpt
ext/mysql/tests/mysql_tablename.phpt

index ffd2b67baafa622db9038bafadd71b1b2c466847..b934c759279a9586b3fdd164dd932b46f9d0170c 100644 (file)
@@ -971,42 +971,34 @@ PHP_FUNCTION(mysql_pconnect)
    Close a MySQL connection */
 PHP_FUNCTION(mysql_close)
 {
-       zval **mysql_link=NULL;
-       int id;
+       zval *mysql_link=NULL;
        php_mysql_conn *mysql;
 
-       switch (ZEND_NUM_ARGS()) {
-               case 0:
-                       id = MySG(default_link);
-                       break;
-               case 1:
-                       if (zend_get_parameters_ex(1, &mysql_link)==FAILURE) {
-                               RETURN_FALSE;
-                       }
-                       id = -1;
-                       break;
-               default:
-                       WRONG_PARAM_COUNT;
-                       break;
+       if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "|r", &mysql_link) == FAILURE) {
+               return;
+       }
+
+       if (mysql_link) {
+               ZEND_FETCH_RESOURCE2(mysql, php_mysql_conn *, &mysql_link, -1, "MySQL-Link", le_link, le_plink);
+       } else {
+               ZEND_FETCH_RESOURCE2(mysql, php_mysql_conn *, NULL, MySG(default_link), "MySQL-Link", le_link, le_plink);
        }
-       
-       ZEND_FETCH_RESOURCE2(mysql, php_mysql_conn *, mysql_link, id, "MySQL-Link", le_link, le_plink);
 
 #ifdef MYSQL_USE_MYSQLND
        {
                int tmp;
-               if ((mysql = zend_list_find(Z_RESVAL_PP(mysql_link), &tmp)) && tmp == le_plink) {
+               if ((mysql = zend_list_find(Z_RESVAL_P(mysql_link), &tmp)) && tmp == le_plink) {
                        mysqlnd_end_psession(mysql->conn);
                }
        }
 #endif
-       if (id==-1) { /* explicit resource number */
+       if (mysql_link) { /* explicit resource number */
                PHPMY_UNBUFFERED_QUERY_CHECK();
-               zend_list_delete(Z_RESVAL_PP(mysql_link));
+               zend_list_delete(Z_RESVAL_P(mysql_link));
        }
 
-       if (id!=-1 
-               || (mysql_link && Z_RESVAL_PP(mysql_link)==MySG(default_link))) {
+       if (!mysql_link 
+               || (mysql_link && Z_RESVAL_P(mysql_link)==MySG(default_link))) {
                PHPMY_UNBUFFERED_QUERY_CHECK();
                zend_list_delete(MySG(default_link));
                MySG(default_link) = -1;
@@ -1020,34 +1012,24 @@ PHP_FUNCTION(mysql_close)
    Selects a MySQL database */
 PHP_FUNCTION(mysql_select_db)
 {
-       zval **db, **mysql_link;
-       int id;
+       char *db;
+       int db_len;
+       zval *mysql_link = NULL;
+       int id = -1;
        php_mysql_conn *mysql;
        
-       switch(ZEND_NUM_ARGS()) {
-               case 1:
-                       if (zend_get_parameters_ex(1, &db)==FAILURE) {
-                               RETURN_FALSE;
-                       }
-                       id = php_mysql_get_default_link(INTERNAL_FUNCTION_PARAM_PASSTHRU);
-                       CHECK_LINK(id);
-                       break;
-               case 2:
-                       if (zend_get_parameters_ex(2, &db, &mysql_link)==FAILURE) {
-                               RETURN_FALSE;
-                       }
-                       id = -1;
-                       break;
-               default:
-                       WRONG_PARAM_COUNT;
-                       break;
+       if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "s|r", &db, &db_len, &mysql_link) == FAILURE) {
+               return;
        }
 
-       ZEND_FETCH_RESOURCE2(mysql, php_mysql_conn *, mysql_link, id, "MySQL-Link", le_link, le_plink);
-       
-       convert_to_string_ex(db);
+       if (!mysql_link) {
+               id = php_mysql_get_default_link(INTERNAL_FUNCTION_PARAM_PASSTHRU);
+               CHECK_LINK(id);
+       }
 
-       if (php_mysql_select_db(mysql, Z_STRVAL_PP(db) TSRMLS_CC)) {
+       ZEND_FETCH_RESOURCE2(mysql, php_mysql_conn *, &mysql_link, id, "MySQL-Link", le_link, le_plink);
+       
+       if (php_mysql_select_db(mysql, db TSRMLS_CC)) {
                RETURN_TRUE;
        } else {
                RETURN_FALSE;   
@@ -1073,27 +1055,20 @@ PHP_FUNCTION(mysql_get_client_info)
    Returns a string describing the type of connection in use, including the server host name */
 PHP_FUNCTION(mysql_get_host_info)
 {
-       zval **mysql_link;
-       int id;
+       zval *mysql_link = NULL;
+       int id = -1;
        php_mysql_conn *mysql;
 
-       switch(ZEND_NUM_ARGS()) {
-               case 0:
-                       id = php_mysql_get_default_link(INTERNAL_FUNCTION_PARAM_PASSTHRU);
-                       CHECK_LINK(id);
-                       break;
-               case 1:
-                       if (zend_get_parameters_ex(1,&mysql_link)==FAILURE) {
-                               RETURN_FALSE;
-                       }
-                       id = -1;
-                       break;
-               default:
-                       WRONG_PARAM_COUNT;
-                       break;
+       if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "|r", &mysql_link) == FAILURE) {
+               return;
        }
 
-       ZEND_FETCH_RESOURCE2(mysql, php_mysql_conn *, mysql_link, id, "MySQL-Link", le_link, le_plink);
+       if (!mysql_link) {
+               id = php_mysql_get_default_link(INTERNAL_FUNCTION_PARAM_PASSTHRU);
+               CHECK_LINK(id);
+       }
+
+       ZEND_FETCH_RESOURCE2(mysql, php_mysql_conn *, &mysql_link, id, "MySQL-Link", le_link, le_plink);
 
        RETURN_STRING((char *)mysql_get_host_info(mysql->conn),1);
 }
@@ -1103,27 +1078,20 @@ PHP_FUNCTION(mysql_get_host_info)
    Returns the protocol version used by current connection */
 PHP_FUNCTION(mysql_get_proto_info)
 {
-       zval **mysql_link;
-       int id;
+       zval *mysql_link = NULL;
+       int id = -1;
        php_mysql_conn *mysql;
 
-       switch(ZEND_NUM_ARGS()) {
-               case 0:
-                       id = php_mysql_get_default_link(INTERNAL_FUNCTION_PARAM_PASSTHRU);
-                       CHECK_LINK(id);
-                       break;
-               case 1:
-                       if (zend_get_parameters_ex(1,&mysql_link)==FAILURE) {
-                               RETURN_FALSE;
-                       }
-                       id = -1;
-                       break;
-               default:
-                       WRONG_PARAM_COUNT;
-                       break;
+       if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "|r", &mysql_link) == FAILURE) {
+               return;
+       }
+
+       if (!mysql_link) {
+               id = php_mysql_get_default_link(INTERNAL_FUNCTION_PARAM_PASSTHRU);
+               CHECK_LINK(id);
        }
 
-       ZEND_FETCH_RESOURCE2(mysql, php_mysql_conn *, mysql_link, id, "MySQL-Link", le_link, le_plink);
+       ZEND_FETCH_RESOURCE2(mysql, php_mysql_conn *, &mysql_link, id, "MySQL-Link", le_link, le_plink);
 
        RETURN_LONG(mysql_get_proto_info(mysql->conn));
 }
@@ -1133,27 +1101,20 @@ PHP_FUNCTION(mysql_get_proto_info)
    Returns a string that represents the server version number */
 PHP_FUNCTION(mysql_get_server_info)
 {
-       zval **mysql_link;
-       int id;
+       zval *mysql_link = NULL;
+       int id = -1;
        php_mysql_conn *mysql;
 
-       switch(ZEND_NUM_ARGS()) {
-               case 0:
-                       id = php_mysql_get_default_link(INTERNAL_FUNCTION_PARAM_PASSTHRU);
-                       CHECK_LINK(id);
-                       break;
-               case 1:
-                       if (zend_get_parameters_ex(1,&mysql_link)==FAILURE) {
-                               RETURN_FALSE;
-                       }
-                       id = -1;
-                       break;
-               default:
-                       WRONG_PARAM_COUNT;
-                       break;
+       if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "|r", &mysql_link) == FAILURE) {
+               return;
        }
 
-       ZEND_FETCH_RESOURCE2(mysql, php_mysql_conn *, mysql_link, id, "MySQL-Link", le_link, le_plink);
+       if (!mysql_link) {
+               id = php_mysql_get_default_link(INTERNAL_FUNCTION_PARAM_PASSTHRU);
+               CHECK_LINK(id);
+       }
+
+       ZEND_FETCH_RESOURCE2(mysql, php_mysql_conn *, &mysql_link, id, "MySQL-Link", le_link, le_plink);
 
        RETURN_STRING((char *)mysql_get_server_info(mysql->conn),1);
 }
@@ -1304,36 +1265,26 @@ PHP_FUNCTION(mysql_set_charset)
    Create a MySQL database */
 PHP_FUNCTION(mysql_create_db)
 {
-       zval **db, **mysql_link;
-       int id;
+       char *db;
+       int db_len;
+       zval *mysql_link = NULL;
+       int id = -1;
        php_mysql_conn *mysql;
 
-       switch(ZEND_NUM_ARGS()) {
-               case 1:
-                       if (zend_get_parameters_ex(1, &db)==FAILURE) {
-                               RETURN_FALSE;
-                       }
-                       id = php_mysql_get_default_link(INTERNAL_FUNCTION_PARAM_PASSTHRU);
-                       CHECK_LINK(id);
-                       break;
-               case 2:
-                       if (zend_get_parameters_ex(2, &db, &mysql_link)==FAILURE) {
-                               RETURN_FALSE;
-                       }
-                       id = -1;
-                       break;
-               default:
-                       WRONG_PARAM_COUNT;
-                       break;
+       if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "s|r", &db, &db_len, &mysql_link) == FAILURE) {
+               return;
+       }
+
+       if (!mysql_link) {
+               id = php_mysql_get_default_link(INTERNAL_FUNCTION_PARAM_PASSTHRU);
+               CHECK_LINK(id);
        }
 
-       ZEND_FETCH_RESOURCE2(mysql, php_mysql_conn *, mysql_link, id, "MySQL-Link", le_link, le_plink);
+       ZEND_FETCH_RESOURCE2(mysql, php_mysql_conn *, &mysql_link, id, "MySQL-Link", le_link, le_plink);
 
        PHPMY_UNBUFFERED_QUERY_CHECK();
 
-       convert_to_string_ex(db);
-
-       if (mysql_create_db(mysql->conn, Z_STRVAL_PP(db))==0) {
+       if (mysql_create_db(mysql->conn, db)==0) {
                RETURN_TRUE;
        } else {
                RETURN_FALSE;
@@ -1345,34 +1296,24 @@ PHP_FUNCTION(mysql_create_db)
    Drops (delete) a MySQL database */
 PHP_FUNCTION(mysql_drop_db)
 {
-       zval **db, **mysql_link;
-       int id;
+       char *db;
+       int db_len;
+       zval *mysql_link = NULL;
+       int id = -1;
        php_mysql_conn *mysql;
        
-       switch(ZEND_NUM_ARGS()) {
-               case 1:
-                       if (zend_get_parameters_ex(1, &db)==FAILURE) {
-                               RETURN_FALSE;
-                       }
-                       id = php_mysql_get_default_link(INTERNAL_FUNCTION_PARAM_PASSTHRU);
-                       CHECK_LINK(id);
-                       break;
-               case 2:
-                       if (zend_get_parameters_ex(2, &db, &mysql_link)==FAILURE) {
-                               RETURN_FALSE;
-                       }
-                       id = -1;
-                       break;
-               default:
-                       WRONG_PARAM_COUNT;
-                       break;
+       if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "s|r", &db, &db_len, &mysql_link) == FAILURE) {
+               return;
        }
 
-       ZEND_FETCH_RESOURCE2(mysql, php_mysql_conn *, mysql_link, id, "MySQL-Link", le_link, le_plink);
-       
-       convert_to_string_ex(db);
+       if (!mysql_link) {
+               id = php_mysql_get_default_link(INTERNAL_FUNCTION_PARAM_PASSTHRU);
+               CHECK_LINK(id);
+       }
 
-       if (mysql_drop_db(mysql->conn, Z_STRVAL_PP(db))==0) {
+       ZEND_FETCH_RESOURCE2(mysql, php_mysql_conn *, &mysql_link, id, "MySQL-Link", le_link, le_plink);
+
+       if (mysql_drop_db(mysql->conn, db)==0) {
                RETURN_TRUE;
        } else {
                RETURN_FALSE;
@@ -1384,16 +1325,15 @@ PHP_FUNCTION(mysql_drop_db)
 
 /* {{{ php_mysql_do_query_general
  */
-static void php_mysql_do_query_general(zval **query, zval **mysql_link, int link_id, zval **db, int use_store, zval *return_value TSRMLS_DC)
+static void php_mysql_do_query_general(char *query, int query_len, zval *mysql_link, int link_id, char *db, int use_store, zval *return_value TSRMLS_DC)
 {
        php_mysql_conn *mysql;
        MYSQL_RES *mysql_result;
        
-       ZEND_FETCH_RESOURCE2(mysql, php_mysql_conn *, mysql_link, link_id, "MySQL-Link", le_link, le_plink);
+       ZEND_FETCH_RESOURCE2(mysql, php_mysql_conn *, &mysql_link, link_id, "MySQL-Link", le_link, le_plink);
        
        if (db) {
-               convert_to_string_ex(db);
-               if (!php_mysql_select_db(mysql, Z_STRVAL_PP(db) TSRMLS_CC)) {
+               if (!php_mysql_select_db(mysql, db TSRMLS_CC)) {
                        RETURN_FALSE;
                }
        }
@@ -1402,16 +1342,14 @@ static void php_mysql_do_query_general(zval **query, zval **mysql_link, int link
 
        MYSQL_DISABLE_MQ;
 
-       convert_to_string_ex(query);
-
 #ifndef MYSQL_USE_MYSQLND
        /* check explain */
        if (MySG(trace_mode)) {
-               if (!strncasecmp("select", Z_STRVAL_PP(query), 6)){
+               if (!strncasecmp("select", query, 6)){
                        MYSQL_ROW       row;
                        
                        char *newquery;
-                       int newql = spprintf (&newquery, 0, "EXPLAIN %s", Z_STRVAL_PP(query));
+                       int newql = spprintf (&newquery, 0, "EXPLAIN %s", query);
                        mysql_real_query(mysql->conn, newquery, newql);
                        efree (newquery);
                        if (mysql_errno(mysql->conn)) {
@@ -1435,7 +1373,7 @@ static void php_mysql_do_query_general(zval **query, zval **mysql_link, int link
 
        /* mysql_query is binary unsafe, use mysql_real_query */
 #if MYSQL_VERSION_ID > 32199
-       if (mysql_real_query(mysql->conn, Z_STRVAL_PP(query), Z_STRLEN_PP(query))!=0) {
+       if (mysql_real_query(mysql->conn, query, query_len)!=0) {
                /* check possible error */
                if (MySG(trace_mode)){
                        if (mysql_errno(mysql->conn)){
@@ -1445,7 +1383,7 @@ static void php_mysql_do_query_general(zval **query, zval **mysql_link, int link
                RETURN_FALSE;
        }
 #else
-       if (mysql_query(mysql->conn, Z_STRVAL_PP(query))!=0) {
+       if (mysql_query(mysql->conn, query)!=0) {
                /* check possible error */
                if (MySG(trace_mode)){
                        if (mysql_errno(mysql->conn)){
@@ -1480,28 +1418,21 @@ static void php_mysql_do_query_general(zval **query, zval **mysql_link, int link
  */
 static void php_mysql_do_query(INTERNAL_FUNCTION_PARAMETERS, int use_store)
 {
-       zval **query, **mysql_link;
-       int id;
+       char *query;
+       int query_len;
+       zval *mysql_link = NULL;
+       int id = -1;
        
-       switch(ZEND_NUM_ARGS()) {
-               case 1:
-                       if (zend_get_parameters_ex(1, &query)==FAILURE) {
-                               RETURN_FALSE;
-                       }
-                       id = php_mysql_get_default_link(INTERNAL_FUNCTION_PARAM_PASSTHRU);
-                       CHECK_LINK(id);
-                       break;
-               case 2:
-                       if (zend_get_parameters_ex(2, &query, &mysql_link)==FAILURE) {
-                               RETURN_FALSE;
-                       }
-                       id = -1;
-                       break;
-               default:
-                       WRONG_PARAM_COUNT;
-                       break;
+       if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "s|r", &query, &query_len, &mysql_link) == FAILURE) {
+               return;
+       }
+
+       if (!mysql_link) {
+               id = php_mysql_get_default_link(INTERNAL_FUNCTION_PARAM_PASSTHRU);
+               CHECK_LINK(id);
        }
-       php_mysql_do_query_general(query, mysql_link, id, NULL, use_store, return_value TSRMLS_CC);
+
+       php_mysql_do_query_general(query, query_len, mysql_link, id, NULL, use_store, return_value TSRMLS_CC);
 }
 /* }}} */
 
@@ -1527,33 +1458,25 @@ PHP_FUNCTION(mysql_unbuffered_query)
    Sends an SQL query to MySQL */
 PHP_FUNCTION(mysql_db_query)
 {
-       zval **db, **query, **mysql_link;
-       int id;
-       
-       switch(ZEND_NUM_ARGS()) {
-               case 2:
-                       if (zend_get_parameters_ex(2, &db, &query)==FAILURE) {
-                               RETURN_FALSE;
-                       }
-                       id = php_mysql_get_default_link(INTERNAL_FUNCTION_PARAM_PASSTHRU);
-                       CHECK_LINK(id);
-                       break;
-               case 3:
-                       if (zend_get_parameters_ex(3, &db, &query, &mysql_link)==FAILURE) {
-                               RETURN_FALSE;
-                       }
-                       id = -1;
-                       break;
-               default:
-                       WRONG_PARAM_COUNT;
-                       break;
+       char *db, *query;
+       int db_len, query_len;
+       zval *mysql_link = NULL;
+       int id = -1;
+
+       if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "ss|r", &db, &db_len, &query, &query_len, &mysql_link) == FAILURE) {
+               return;
        }
-       
+
+       if (!mysql_link) {
+               id = php_mysql_get_default_link(INTERNAL_FUNCTION_PARAM_PASSTHRU);
+               CHECK_LINK(id);
+       }
+
        if (MySG(trace_mode) || !strcasecmp(get_active_function_name(TSRMLS_C), "mysql")) {
                php_error_docref(NULL TSRMLS_CC, E_DEPRECATED, "This function is deprecated; use mysql_query() instead.");
        }
        
-       php_mysql_do_query_general(query, mysql_link, id, db, MYSQL_STORE_RESULT, return_value TSRMLS_CC);
+       php_mysql_do_query_general(query, query_len, mysql_link, id, db, MYSQL_STORE_RESULT, return_value TSRMLS_CC);
 }
 /* }}} */
 
@@ -1562,28 +1485,21 @@ PHP_FUNCTION(mysql_db_query)
    List databases available on a MySQL server */
 PHP_FUNCTION(mysql_list_dbs)
 {
-       zval **mysql_link;
-       int id;
+       zval *mysql_link = NULL;
+       int id = -1;
        php_mysql_conn *mysql;
        MYSQL_RES *mysql_result;
 
-       switch(ZEND_NUM_ARGS()) {
-               case 0:
-                       id = php_mysql_get_default_link(INTERNAL_FUNCTION_PARAM_PASSTHRU);
-                       CHECK_LINK(id);
-                       break;
-               case 1:
-                       if (zend_get_parameters_ex(1, &mysql_link)==FAILURE) {
-                               RETURN_FALSE;
-                       }
-                       id = -1;
-                       break;
-               default:
-                       WRONG_PARAM_COUNT;
-                       break;
+       if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "|r", &mysql_link) == FAILURE) {
+               return;
        }
 
-       ZEND_FETCH_RESOURCE2(mysql, php_mysql_conn *, mysql_link, id, "MySQL-Link", le_link, le_plink);
+       if (!mysql_link) {
+               id = php_mysql_get_default_link(INTERNAL_FUNCTION_PARAM_PASSTHRU);
+               CHECK_LINK(id);
+       }
+
+       ZEND_FETCH_RESOURCE2(mysql, php_mysql_conn *, &mysql_link, id, "MySQL-Link", le_link, le_plink);
 
        PHPMY_UNBUFFERED_QUERY_CHECK();
 
@@ -1600,33 +1516,25 @@ PHP_FUNCTION(mysql_list_dbs)
    List tables in a MySQL database */
 PHP_FUNCTION(mysql_list_tables)
 {
-       zval **db, **mysql_link;
-       int id;
+       char *db;
+       int db_len;
+       zval *mysql_link = NULL;
+       int id = -1;
        php_mysql_conn *mysql;
        MYSQL_RES *mysql_result;
        
-       switch(ZEND_NUM_ARGS()) {
-               case 1:
-                       if (zend_get_parameters_ex(1, &db)==FAILURE) {
-                               RETURN_FALSE;
-                       }
-                       id = php_mysql_get_default_link(INTERNAL_FUNCTION_PARAM_PASSTHRU);
-                       CHECK_LINK(id);
-                       break;
-               case 2:
-                       if (zend_get_parameters_ex(2, &db, &mysql_link)==FAILURE) {
-                               RETURN_FALSE;
-                       }
-                       id = -1;
-                       break;
-               default:
-                       WRONG_PARAM_COUNT;
-                       break;
+       if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "s|r", &db, &db_len, &mysql_link) == FAILURE) {
+               return;
+       }
+
+       if (!mysql_link) {
+               id = php_mysql_get_default_link(INTERNAL_FUNCTION_PARAM_PASSTHRU);
+               CHECK_LINK(id);
        }
-       ZEND_FETCH_RESOURCE2(mysql, php_mysql_conn *, mysql_link, id, "MySQL-Link", le_link, le_plink);
 
-       convert_to_string_ex(db);
-       if (!php_mysql_select_db(mysql, Z_STRVAL_PP(db) TSRMLS_CC)) {
+       ZEND_FETCH_RESOURCE2(mysql, php_mysql_conn *, &mysql_link, id, "MySQL-Link", le_link, le_plink);
+
+       if (!php_mysql_select_db(mysql, db TSRMLS_CC)) {
                RETURN_FALSE;
        }
 
@@ -1645,41 +1553,31 @@ PHP_FUNCTION(mysql_list_tables)
    List MySQL result fields */
 PHP_FUNCTION(mysql_list_fields)
 {
-       zval **db, **table, **mysql_link;
-       int id;
+       char *db, *table;
+       int db_len, table_len;
+       zval *mysql_link = NULL;
+       int id = -1;
        php_mysql_conn *mysql;
        MYSQL_RES *mysql_result;
 
-       switch(ZEND_NUM_ARGS()) {
-               case 2:
-                       if (zend_get_parameters_ex(2, &db, &table)==FAILURE) {
-                               RETURN_FALSE;
-                       }
-                       id = php_mysql_get_default_link(INTERNAL_FUNCTION_PARAM_PASSTHRU);
-                       CHECK_LINK(id);
-                       break;
-               case 3:
-                       if (zend_get_parameters_ex(3, &db, &table, &mysql_link)==FAILURE) {
-                               RETURN_FALSE;
-                       }
-                       id = -1;
-                       break;
-               default:
-                       WRONG_PARAM_COUNT;
-                       break;
+       if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "ss|r", &db, &db_len, &table, &table_len, &mysql_link) == FAILURE) {
+               return;
        }
 
-       ZEND_FETCH_RESOURCE2(mysql, php_mysql_conn *, mysql_link, id, "MySQL-Link", le_link, le_plink);
+       if (!mysql_link) {
+               id = php_mysql_get_default_link(INTERNAL_FUNCTION_PARAM_PASSTHRU);
+               CHECK_LINK(id);
+       }
+
+       ZEND_FETCH_RESOURCE2(mysql, php_mysql_conn *, &mysql_link, id, "MySQL-Link", le_link, le_plink);
 
-       convert_to_string_ex(db);
-       if (!php_mysql_select_db(mysql, Z_STRVAL_PP(db) TSRMLS_CC)) {
+       if (!php_mysql_select_db(mysql, db TSRMLS_CC)) {
                RETURN_FALSE;
        }
 
        PHPMY_UNBUFFERED_QUERY_CHECK();
 
-       convert_to_string_ex(table);
-       if ((mysql_result=mysql_list_fields(mysql->conn, Z_STRVAL_PP(table), NULL))==NULL) {
+       if ((mysql_result=mysql_list_fields(mysql->conn, table, NULL))==NULL) {
                php_error_docref(NULL TSRMLS_CC, E_WARNING, "Unable to save MySQL query result");
                RETURN_FALSE;
        }
@@ -1724,33 +1622,26 @@ PHP_FUNCTION(mysql_list_processes)
    Returns the text of the error message from previous MySQL operation */
 PHP_FUNCTION(mysql_error)
 {
-       zval **mysql_link;
-       int id;
+       zval *mysql_link = NULL;
+       int id = -1;
        php_mysql_conn *mysql;
        
-       switch(ZEND_NUM_ARGS()) {
-               case 0:
-                       id = MySG(default_link);
-                       if (id==-1) {
-                               if (MySG(connect_error)!=NULL){
-                                       RETURN_STRING(MySG(connect_error),1);
-                               } else {
-                                       RETURN_FALSE;
-                               }
-                       }
-                       break;
-               case 1:
-                       if (zend_get_parameters_ex(1, &mysql_link)==FAILURE) {
+       if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "|r", &mysql_link) == FAILURE) {
+               return;
+       }
+
+       if (!mysql_link) {
+               id = MySG(default_link);
+               if (id==-1) {
+                       if (MySG(connect_error)!=NULL){
+                               RETURN_STRING(MySG(connect_error),1);
+                       } else {
                                RETURN_FALSE;
                        }
-                       id = -1;
-                       break;
-               default:
-                       WRONG_PARAM_COUNT;
-                       break;
+               }
        }
        
-       ZEND_FETCH_RESOURCE2(mysql, php_mysql_conn *, mysql_link, id, "MySQL-Link", le_link, le_plink);
+       ZEND_FETCH_RESOURCE2(mysql, php_mysql_conn *, &mysql_link, id, "MySQL-Link", le_link, le_plink);
        
        RETURN_STRING((char *)mysql_error(mysql->conn), 1);
 }
@@ -1762,33 +1653,26 @@ PHP_FUNCTION(mysql_error)
 #ifdef HAVE_MYSQL_ERRNO
 PHP_FUNCTION(mysql_errno)
 {
-       zval **mysql_link;
-       int id;
+       zval *mysql_link = NULL;
+       int id = -1;
        php_mysql_conn *mysql;
        
-       switch(ZEND_NUM_ARGS()) {
-               case 0:
-                       id = MySG(default_link);
-                       if (id==-1) {
-                               if (MySG(connect_errno)!=0){
-                                       RETURN_LONG(MySG(connect_errno));
-                               } else {
-                                       RETURN_FALSE;
-                               }
-                       }
-                       break;
-               case 1:
-                       if (zend_get_parameters_ex(1, &mysql_link)==FAILURE) {
+       if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "|r", &mysql_link) == FAILURE) {
+               return;
+       }
+       
+       if (!mysql_link) {
+               id = MySG(default_link);
+               if (id==-1) {
+                       if (MySG(connect_errno)!=0){
+                               RETURN_LONG(MySG(connect_errno));
+                       } else {
                                RETURN_FALSE;
                        }
-                       id = -1;
-                       break;
-               default:
-                       WRONG_PARAM_COUNT;
-                       break;
+               }
        }
        
-       ZEND_FETCH_RESOURCE2(mysql, php_mysql_conn *, mysql_link, id, "MySQL-Link", le_link, le_plink);
+       ZEND_FETCH_RESOURCE2(mysql, php_mysql_conn *, &mysql_link, id, "MySQL-Link", le_link, le_plink);
        
        RETURN_LONG(mysql_errno(mysql->conn));
 }
@@ -1800,27 +1684,20 @@ PHP_FUNCTION(mysql_errno)
    Gets number of affected rows in previous MySQL operation */
 PHP_FUNCTION(mysql_affected_rows)
 {
-       zval **mysql_link;
-       int id;
+       zval *mysql_link = NULL;
+       int id = -1;
        php_mysql_conn *mysql;
        
-       switch(ZEND_NUM_ARGS()) {
-               case 0:
-                       id = MySG(default_link);
-                       CHECK_LINK(id);
-                       break;
-               case 1:
-                       if (zend_get_parameters_ex(1, &mysql_link)==FAILURE) {
-                               RETURN_FALSE;
-                       }
-                       id = -1;
-                       break;
-               default:
-                       WRONG_PARAM_COUNT;
-                       break;
+       if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "|r", &mysql_link) == FAILURE) {
+               return;
        }
-       
-       ZEND_FETCH_RESOURCE2(mysql, php_mysql_conn *, mysql_link, id, "MySQL-Link", le_link, le_plink);
+
+       if (!mysql_link) {
+               id = php_mysql_get_default_link(INTERNAL_FUNCTION_PARAM_PASSTHRU);
+               CHECK_LINK(id);
+       }
+
+       ZEND_FETCH_RESOURCE2(mysql, php_mysql_conn *, &mysql_link, id, "MySQL-Link", le_link, le_plink);
        
        /* conversion from int64 to long happing here */
        Z_LVAL_P(return_value) = (long) mysql_affected_rows(mysql->conn);
@@ -1833,20 +1710,20 @@ PHP_FUNCTION(mysql_affected_rows)
    Escape string for mysql query */
 PHP_FUNCTION(mysql_escape_string)
 {
-       zval **str;
-
+       char *str;
+       int str_len;
 
-       if (ZEND_NUM_ARGS()!=1 || zend_get_parameters_ex(1, &str) == FAILURE) {
-               WRONG_PARAM_COUNT;
+       if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "s", &str, &str_len) == FAILURE) {
+               return;
        }
-       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 *) safe_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));
+       Z_STRVAL_P(return_value) = (char *) safe_emalloc(str_len, 2, 1);
+       Z_STRLEN_P(return_value) = mysql_escape_string(Z_STRVAL_P(return_value), str, str_len);
        Z_TYPE_P(return_value) = IS_STRING;
 
        if (MySG(trace_mode)){
@@ -1889,27 +1766,20 @@ PHP_FUNCTION(mysql_real_escape_string)
    Gets the ID generated from the previous INSERT operation */
 PHP_FUNCTION(mysql_insert_id)
 {
-       zval **mysql_link;
-       int id;
+       zval *mysql_link = NULL;
+       int id = -1;
        php_mysql_conn *mysql;
        
-       switch(ZEND_NUM_ARGS()) {
-               case 0:
-                       id = MySG(default_link);
-                       CHECK_LINK(id);
-                       break;
-               case 1:
-                       if (zend_get_parameters_ex(1, &mysql_link)==FAILURE) {
-                               RETURN_FALSE;
-                       }
-                       id = -1;
-                       break;
-               default:
-                       WRONG_PARAM_COUNT;
-                       break;
+       if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "|r", &mysql_link) == FAILURE) {
+               return;
        }
-       
-       ZEND_FETCH_RESOURCE2(mysql, php_mysql_conn *, mysql_link, id, "MySQL-Link", le_link, le_plink);
+
+       if (!mysql_link) {
+               id = php_mysql_get_default_link(INTERNAL_FUNCTION_PARAM_PASSTHRU);
+               CHECK_LINK(id);
+       }
+
+       ZEND_FETCH_RESOURCE2(mysql, php_mysql_conn *, &mysql_link, id, "MySQL-Link", le_link, le_plink);
        
        /* conversion from int64 to long happing here */
        Z_LVAL_P(return_value) = (long) mysql_insert_id(mysql->conn);
@@ -1922,7 +1792,8 @@ PHP_FUNCTION(mysql_insert_id)
    Gets result data */
 PHP_FUNCTION(mysql_result)
 {
-       zval **result, **row, **field=NULL;
+       zval *result, *field=NULL;
+       long row;
        MYSQL_RES *mysql_result;
 #ifndef MYSQL_USE_MYSQLND
        MYSQL_ROW sql_row;
@@ -1930,44 +1801,36 @@ PHP_FUNCTION(mysql_result)
 #endif
        int field_offset=0;
 
-       switch (ZEND_NUM_ARGS()) {
-               case 2:
-                       if (zend_get_parameters_ex(2, &result, &row)==FAILURE) {
-                               RETURN_FALSE;
-                       }
-                       break;
-               case 3:
-                       if (zend_get_parameters_ex(3, &result, &row, &field)==FAILURE) {
-                               RETURN_FALSE;
-                       }
-                       break;
-               default:
-                       WRONG_PARAM_COUNT;
-                       break;
+/*
+johannes TODO:
+Do 2 zend_parse_paramters calls instead of type "z" and switch below
+Q: String or long first?
+*/
+       if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "rl|z", &result, &row, &field) == FAILURE) {
+               return;
        }
        
-       ZEND_FETCH_RESOURCE(mysql_result, MYSQL_RES *, result, -1, "MySQL result", le_result);
+       ZEND_FETCH_RESOURCE(mysql_result, MYSQL_RES *, &result, -1, "MySQL result", le_result);
                
-       convert_to_long_ex(row);
-       if (Z_LVAL_PP(row)<0 || Z_LVAL_PP(row)>=(int)mysql_num_rows(mysql_result)) {
-               php_error_docref(NULL TSRMLS_CC, E_WARNING, "Unable to jump to row %ld on MySQL result index %ld", Z_LVAL_PP(row), Z_LVAL_PP(result));
+       if (row<0 || row>=(int)mysql_num_rows(mysql_result)) {
+               php_error_docref(NULL TSRMLS_CC, E_WARNING, "Unable to jump to row %ld on MySQL result index %ld", row, Z_LVAL_P(result));
                RETURN_FALSE;
        }
-       mysql_data_seek(mysql_result, Z_LVAL_PP(row));
+       mysql_data_seek(mysql_result, row);
        
        if (field) {
-               switch(Z_TYPE_PP(field)) {
+               switch(Z_TYPE_P(field)) {
                        case IS_STRING: {
                                        int i=0;
                                        const MYSQL_FIELD *tmp_field;
                                        char *table_name, *field_name, *tmp;
 
-                                       if ((tmp=strchr(Z_STRVAL_PP(field), '.'))) {
-                                               table_name = estrndup(Z_STRVAL_PP(field), tmp-Z_STRVAL_PP(field));
+                                       if ((tmp=strchr(Z_STRVAL_P(field), '.'))) {
+                                               table_name = estrndup(Z_STRVAL_P(field), tmp-Z_STRVAL_P(field));
                                                field_name = estrdup(tmp+1);
                                        } else {
                                                table_name = NULL;
-                                               field_name = estrndup(Z_STRVAL_PP(field),Z_STRLEN_PP(field));
+                                               field_name = estrndup(Z_STRVAL_P(field),Z_STRLEN_P(field));
                                        }
                                        mysql_field_seek(mysql_result, 0);
                                        while ((tmp_field=mysql_fetch_field(mysql_result))) {
@@ -1979,7 +1842,7 @@ PHP_FUNCTION(mysql_result)
                                        }
                                        if (!tmp_field) { /* no match found */
                                                php_error_docref(NULL TSRMLS_CC, E_WARNING, "%s%s%s not found in MySQL result index %ld",
-                                                                       (table_name?table_name:""), (table_name?".":""), field_name, Z_LVAL_PP(result));
+                                                                       (table_name?table_name:""), (table_name?".":""), field_name, Z_LVAL_P(result));
                                                efree(field_name);
                                                if (table_name) {
                                                        efree(table_name);
@@ -1993,8 +1856,8 @@ PHP_FUNCTION(mysql_result)
                                }
                                break;
                        default:
-                               convert_to_long_ex(field);
-                               field_offset = Z_LVAL_PP(field);
+                               convert_to_long_ex(&field);
+                               field_offset = Z_LVAL_P(field);
                                if (field_offset<0 || field_offset>=(int)mysql_num_fields(mysql_result)) {
                                        php_error_docref(NULL TSRMLS_CC, E_WARNING, "Bad column offset specified");
                                        RETURN_FALSE;
@@ -2031,14 +1894,14 @@ PHP_FUNCTION(mysql_result)
    Gets number of rows in a result */
 PHP_FUNCTION(mysql_num_rows)
 {
-       zval **result;
+       zval *result;
        MYSQL_RES *mysql_result;
        
-       if (ZEND_NUM_ARGS()!=1 || zend_get_parameters_ex(1, &result)==FAILURE) {
-               WRONG_PARAM_COUNT;
+       if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "r", &result) == FAILURE) {
+               return;
        }
        
-       ZEND_FETCH_RESOURCE(mysql_result, MYSQL_RES *, result, -1, "MySQL result", le_result);
+       ZEND_FETCH_RESOURCE(mysql_result, MYSQL_RES *, &result, -1, "MySQL result", le_result);
        
        /* conversion from int64 to long happing here */
        Z_LVAL_P(return_value) = (long) mysql_num_rows(mysql_result);
@@ -2050,14 +1913,14 @@ PHP_FUNCTION(mysql_num_rows)
    Gets number of fields in a result */
 PHP_FUNCTION(mysql_num_fields)
 {
-       zval **result;
+       zval *result;
        MYSQL_RES *mysql_result;
        
-       if (ZEND_NUM_ARGS()!=1 || zend_get_parameters_ex(1, &result)==FAILURE) {
-               WRONG_PARAM_COUNT;
+       if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "r", &result) == FAILURE) {
+               return;
        }
        
-       ZEND_FETCH_RESOURCE(mysql_result, MYSQL_RES *, result, -1, "MySQL result", le_result);
+       ZEND_FETCH_RESOURCE(mysql_result, MYSQL_RES *, &result, -1, "MySQL result", le_result);
        
        Z_LVAL_P(return_value) = mysql_num_fields(mysql_result);
        Z_TYPE_P(return_value) = IS_LONG;
@@ -2068,7 +1931,6 @@ PHP_FUNCTION(mysql_num_fields)
  */
 static void php_mysql_fetch_hash(INTERNAL_FUNCTION_PARAMETERS, int result_type, int expected_args, int into_object)
 {
-       zval **result, **arg2;
        MYSQL_RES *mysql_result;
        zval            *res, *ctor_params = NULL;
        zend_class_entry *ce = NULL;
@@ -2087,7 +1949,7 @@ static void php_mysql_fetch_hash(INTERNAL_FUNCTION_PARAMETERS, int result_type,
                if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "z|sz", &res, &class_name, &class_name_len, &ctor_params) == FAILURE) {
                        return;
                }
-               result = &res;
+
                if (ZEND_NUM_ARGS() < 2) {
                        ce = zend_standard_class_def;
                } else {
@@ -2101,29 +1963,14 @@ static void php_mysql_fetch_hash(INTERNAL_FUNCTION_PARAMETERS, int result_type,
        } else
 #endif
        {
-               if (ZEND_NUM_ARGS() > expected_args) {
-                       WRONG_PARAM_COUNT;
+               result_type = MYSQL_BOTH;
+
+               if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "r|l", &res, &result_type) == FAILURE) {
+                       return;
                }
-       
-               switch (ZEND_NUM_ARGS()) {
-                       case 1:
-                               if (zend_get_parameters_ex(1, &result)==FAILURE) {
-                                       RETURN_FALSE;
-                               }
-                               if (!result_type) {
-                                       result_type = MYSQL_BOTH;
-                               }
-                               break;
-                       case 2:
-                               if (zend_get_parameters_ex(2, &result, &arg2)==FAILURE) {
-                                       RETURN_FALSE;
-                               }
-                               convert_to_long_ex(arg2);
-                               result_type = Z_LVAL_PP(arg2);
-                               break;
-                       default:
-                               WRONG_PARAM_COUNT;
-                               break;
+               if (!result_type) {
+                       /* result_type might have been set outside, so only overwrite when not set */
+                       result_type = MYSQL_BOTH;
                }
        }
 
@@ -2132,7 +1979,7 @@ static void php_mysql_fetch_hash(INTERNAL_FUNCTION_PARAMETERS, int result_type,
                result_type = MYSQL_BOTH;
        }
        
-       ZEND_FETCH_RESOURCE(mysql_result, MYSQL_RES *, result, -1, "MySQL result", le_result);
+       ZEND_FETCH_RESOURCE(mysql_result, MYSQL_RES *, &res, -1, "MySQL result", le_result);
 
 #ifndef MYSQL_USE_MYSQLND
        if ((mysql_row = mysql_fetch_row(mysql_result)) == NULL  ||
@@ -2334,21 +2181,21 @@ PHP_FUNCTION(mysql_fetch_assoc)
    Move internal result pointer */
 PHP_FUNCTION(mysql_data_seek)
 {
-       zval **result, **offset;
+       zval *result;
+       long offset;
        MYSQL_RES *mysql_result;
        
-       if (ZEND_NUM_ARGS()!=2 || zend_get_parameters_ex(2, &result, &offset)==FAILURE) {
-               WRONG_PARAM_COUNT;
+       if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "rl", &result, &offset)) {
+               return;
        }
        
-       ZEND_FETCH_RESOURCE(mysql_result, MYSQL_RES *, result, -1, "MySQL result", le_result);
+       ZEND_FETCH_RESOURCE(mysql_result, MYSQL_RES *, &result, -1, "MySQL result", le_result);
 
-       convert_to_long_ex(offset);
-       if (Z_LVAL_PP(offset)<0 || Z_LVAL_PP(offset)>=(int)mysql_num_rows(mysql_result)) {
-               php_error_docref(NULL TSRMLS_CC, E_WARNING, "Offset %ld is invalid for MySQL result index %ld (or the query data is unbuffered)", Z_LVAL_PP(offset), Z_LVAL_PP(result));
+       if (offset<0 || offset>=(int)mysql_num_rows(mysql_result)) {
+               php_error_docref(NULL TSRMLS_CC, E_WARNING, "Offset %ld is invalid for MySQL result index %ld (or the query data is unbuffered)", offset, Z_LVAL_P(result));
                RETURN_FALSE;
        }
-       mysql_data_seek(mysql_result, Z_LVAL_PP(offset));
+       mysql_data_seek(mysql_result, offset);
        RETURN_TRUE;
 }
 /* }}} */
@@ -2358,17 +2205,17 @@ PHP_FUNCTION(mysql_data_seek)
    Gets max data size of each column in a result */
 PHP_FUNCTION(mysql_fetch_lengths)
 {
-       zval **result;
+       zval *result;
        MYSQL_RES *mysql_result;
        mysql_row_length_type *lengths;
        int num_fields;
        int i;
-       
-       if (ZEND_NUM_ARGS()!=1 || zend_get_parameters_ex(1, &result)==FAILURE) {
-               WRONG_PARAM_COUNT;
+
+       if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "r", &result) == FAILURE) {
+               return; 
        }
        
-       ZEND_FETCH_RESOURCE(mysql_result, MYSQL_RES *, result, -1, "MySQL result", le_result);
+       ZEND_FETCH_RESOURCE(mysql_result, MYSQL_RES *, &result, -1, "MySQL result", le_result);
 
        if ((lengths=mysql_fetch_lengths(mysql_result))==NULL) {
                RETURN_FALSE;
@@ -2462,34 +2309,23 @@ static char *php_mysql_get_field_name(int field_type)
    Gets column information from a result and return as an object */
 PHP_FUNCTION(mysql_fetch_field)
 {
-       zval **result, **field=NULL;
+       zval *result;
+       long field=0;
        MYSQL_RES *mysql_result;
        const MYSQL_FIELD *mysql_field;
        
-       switch (ZEND_NUM_ARGS()) {
-               case 1:
-                       if (zend_get_parameters_ex(1, &result)==FAILURE) {
-                               RETURN_FALSE;
-                       }
-                       break;
-               case 2:
-                       if (zend_get_parameters_ex(2, &result, &field)==FAILURE) {
-                               RETURN_FALSE;
-                       }
-                       convert_to_long_ex(field);
-                       break;
-               default:
-                       WRONG_PARAM_COUNT;
+       if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "r|l", &result, &field) == FAILURE) {
+               return;
        }
        
-       ZEND_FETCH_RESOURCE(mysql_result, MYSQL_RES *, result, -1, "MySQL result", le_result);
+       ZEND_FETCH_RESOURCE(mysql_result, MYSQL_RES *, &result, -1, "MySQL result", le_result);
 
        if (field) {
-               if (Z_LVAL_PP(field)<0 || Z_LVAL_PP(field)>=(int)mysql_num_fields(mysql_result)) {
+               if (field<0 || field>=(int)mysql_num_fields(mysql_result)) {
                        php_error_docref(NULL TSRMLS_CC, E_WARNING, "Bad field offset");
                        RETURN_FALSE;
                }
-               mysql_field_seek(mysql_result, Z_LVAL_PP(field));
+               mysql_field_seek(mysql_result, field);
        }
        if ((mysql_field=mysql_fetch_field(mysql_result))==NULL) {
                RETURN_FALSE;
@@ -2517,21 +2353,20 @@ PHP_FUNCTION(mysql_fetch_field)
    Sets result pointer to a specific field offset */
 PHP_FUNCTION(mysql_field_seek)
 {
-       zval **result, **offset;
+       zval *result;
+       long offset;
        MYSQL_RES *mysql_result;
        
-       if (ZEND_NUM_ARGS()!=2 || zend_get_parameters_ex(2, &result, &offset)==FAILURE) {
-               WRONG_PARAM_COUNT;
-       }
-       
-       ZEND_FETCH_RESOURCE(mysql_result, MYSQL_RES *, result, -1, "MySQL result", le_result);
+       if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "rl", &result, &offset) == FAILURE) {
+               return;
+       }       
+       ZEND_FETCH_RESOURCE(mysql_result, MYSQL_RES *, &result, -1, "MySQL result", le_result);
 
-       convert_to_long_ex(offset);
-       if (Z_LVAL_PP(offset)<0 || Z_LVAL_PP(offset)>=(int)mysql_num_fields(mysql_result)) {
-               php_error_docref(NULL TSRMLS_CC, E_WARNING, "Field %ld is invalid for MySQL result index %ld", Z_LVAL_PP(offset), Z_LVAL_PP(result));
+       if (offset<0 || offset>=(int)mysql_num_fields(mysql_result)) {
+               php_error_docref(NULL TSRMLS_CC, E_WARNING, "Field %ld is invalid for MySQL result index %ld", offset, Z_LVAL_P(result));
                RETURN_FALSE;
        }
-       mysql_field_seek(mysql_result, Z_LVAL_PP(offset));
+       mysql_field_seek(mysql_result, offset);
        RETURN_TRUE;
 }
 /* }}} */
@@ -2547,24 +2382,24 @@ PHP_FUNCTION(mysql_field_seek)
  */
 static void php_mysql_field_info(INTERNAL_FUNCTION_PARAMETERS, int entry_type)
 {
-       zval **result, **field;
+       zval *result;
+       long field;
        MYSQL_RES *mysql_result;
        const MYSQL_FIELD *mysql_field = {0};
        char buf[512];
        int  len;
 
-       if (ZEND_NUM_ARGS()!=2 || zend_get_parameters_ex(2, &result, &field)==FAILURE) {
-               WRONG_PARAM_COUNT;
+       if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "rl", &result, &field) == FAILURE) {
+               return;
        }
        
-       ZEND_FETCH_RESOURCE(mysql_result, MYSQL_RES *, result, -1, "MySQL result", le_result);
+       ZEND_FETCH_RESOURCE(mysql_result, MYSQL_RES *, &result, -1, "MySQL result", le_result);
        
-       convert_to_long_ex(field);
-       if (Z_LVAL_PP(field)<0 || Z_LVAL_PP(field)>=(int)mysql_num_fields(mysql_result)) {
-               php_error_docref(NULL TSRMLS_CC, E_WARNING, "Field %ld is invalid for MySQL result index %ld", Z_LVAL_PP(field), Z_LVAL_PP(result));
+       if (field<0 || field>=(int)mysql_num_fields(mysql_result)) {
+               php_error_docref(NULL TSRMLS_CC, E_WARNING, "Field %ld is invalid for MySQL result index %ld", field, Z_LVAL_P(result));
                RETURN_FALSE;
        }
-       mysql_field_seek(mysql_result, Z_LVAL_PP(field));
+       mysql_field_seek(mysql_result, field);
        if ((mysql_field=mysql_fetch_field(mysql_result))==NULL) {
                RETURN_FALSE;
        }
@@ -2719,20 +2554,20 @@ PHP_FUNCTION(mysql_field_flags)
    Free result memory */
 PHP_FUNCTION(mysql_free_result)
 {
-       zval **result;
+       zval *result;
        MYSQL_RES *mysql_result;
 
-       if (ZEND_NUM_ARGS()!=1 || zend_get_parameters_ex(1, &result)==FAILURE) {
-               WRONG_PARAM_COUNT;
+       if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "r", &result) == FAILURE) {
+               return;
        }
 
-       if (Z_TYPE_PP(result)==IS_RESOURCE && Z_LVAL_PP(result)==0) {
+       if (Z_LVAL_P(result)==0) {
                RETURN_FALSE;
        }
 
-       ZEND_FETCH_RESOURCE(mysql_result, MYSQL_RES *, result, -1, "MySQL result", le_result);
+       ZEND_FETCH_RESOURCE(mysql_result, MYSQL_RES *, &result, -1, "MySQL result", le_result);
 
-       zend_list_delete(Z_LVAL_PP(result));
+       zend_list_delete(Z_LVAL_P(result));
        RETURN_TRUE;
 }
 /* }}} */
index 246991fa666d3999e1fd909f27d152e082402c55..9e2da44e3c63ab857a5a85d99cec17c5683715db 100644 (file)
@@ -15,8 +15,8 @@ $link   = NULL;
 if (false !== ($tmp = @mysql_affected_rows()))
        printf("[001] Expecting boolean/false, got %s/%s\n", gettype($tmp), $tmp);
 
-if (false !== ($tmp = @mysql_affected_rows($link)))
-       printf("[002] Expecting boolean/false, got %s/%s\n", gettype($tmp), $tmp);
+if (null !== ($tmp = @mysql_affected_rows($link)))
+       printf("[002] Expecting NULL, got %s/%s\n", gettype($tmp), $tmp);
 
 if (!is_null($tmp = @mysql_affected_rows($link, $link)))
        printf("[003] Expecting NULL, got %s/%s\n", gettype($tmp), $tmp);
index aab3553f7257c2f6e5caf7e384e2fecfc2f10c18..8f305ba7801a7cf483f663d1e2806f1adfadfb1e 100644 (file)
@@ -23,8 +23,8 @@ if (!$link = my_mysql_connect($host, $user, $passwd, $db, $port, $socket))
                $host, $user, $db, $port, $socket);
 
 $tmp = @mysql_close(NULL);
-if (false !== $tmp)
-       printf("[004] Expecting boolean/false, got %s/%s\n", gettype($tmp), $tmp);
+if (null !== $tmp)
+       printf("[004] Expecting NULL, got %s/%s\n", gettype($tmp), $tmp);
 
 $tmp = mysql_close($link);
 if (true !== $tmp)
@@ -36,4 +36,4 @@ if (false !== ($tmp = @mysql_query("SELECT 1", $link)))
 print "done!\n";
 ?>
 --EXPECTF--
-done!
\ No newline at end of file
+done!
index 24f930dea8a6e6a45c295dc414c2ef048ff29eab..687af1136b744d50018dbe8e75b8246413a86a59 100644 (file)
@@ -18,8 +18,8 @@ if (NULL !== ($tmp = @mysql_data_seek()))
 if (NULL !== ($tmp = @mysql_data_seek($link)))
        printf("[002] Expecting boolean/false, got %s/%s\n", gettype($tmp), $tmp);
 
-if (false !== ($tmp = @mysql_data_seek($link, $link)))
-       printf("[003] Expecting boolean/false, got %s/%s\n", gettype($tmp), $tmp);
+if (NULL !== ($tmp = @mysql_data_seek($link, $link)))
+       printf("[003] Expecting NULL, got %s/%s\n", gettype($tmp), $tmp);
 
 require('table.inc');
 if (!$res = mysql_query('SELECT * FROM test ORDER BY id LIMIT 4', $link))
@@ -70,4 +70,4 @@ Warning: mysql_data_seek(): Offset -1 is invalid for MySQL result index %d (or t
 Warning: mysql_data_seek(): Offset 3 is invalid for MySQL result index %d (or the query data is unbuffered) in %s on line %d
 
 Warning: mysql_data_seek(): %d is not a valid MySQL result resource in %s on line %d
-done!
\ No newline at end of file
+done!
index 7341259788e69d2113742cf474e2bda6f1e36808..b1a03ed2cd57cd4b6e2736095ed4f7cdb7ad513e 100644 (file)
@@ -15,8 +15,8 @@ $link   = NULL;
 if (NULL !== ($tmp = @mysql_db_name()))
        printf("[001] Expecting NULL, got %s/%s\n", gettype($tmp), $tmp);
 
-if (false !== ($tmp = @mysql_db_name($link, $link)))
-       printf("[002] Expecting boolean/false, got %s/%s\n", gettype($tmp), $tmp);
+if (NULL !== ($tmp = @mysql_db_name($link, $link)))
+       printf("[002] Expecting NULL, got %s/%s\n", gettype($tmp), $tmp);
 
 require('table.inc');
 
@@ -63,4 +63,4 @@ Warning: mysql_db_name(): Unable to jump to row -1 on MySQL result index %d in %
 Warning: mysql_db_name(): Unable to jump to row %d on MySQL result index %d in %s on line %d
 
 Warning: mysql_db_name(): %d is not a valid MySQL result resource in %s on line %d
-done!
\ No newline at end of file
+done!
index fd76f226cd9315b1a91b812409087c50c71b29cf..7a9e85fb30054f0ce823f73ec5e0489eedb2ef18 100644 (file)
@@ -15,8 +15,8 @@ $link   = NULL;
 if (false !== ($tmp = @mysql_errno()))
        printf("[001] Expecting boolean/false, got %s/%s\n", gettype($tmp), $tmp);
 
-if (false !== ($tmp = @mysql_errno($link)))
-       printf("[002] Expecting boolean/false, got %s/%s\n", gettype($tmp), $tmp);
+if (null !== ($tmp = @mysql_errno($link)))
+       printf("[002] Expecting NULL, got %s/%s\n", gettype($tmp), $tmp);
 
 if (!is_null($tmp = @mysql_errno($link, 'too many args')))
        printf("[002b] Expecting NULL, got %s/%s\n", gettype($tmp), $tmp);
@@ -56,4 +56,4 @@ int(%d)
 
 Warning: mysql_errno(): %d is not a valid MySQL-Link resource in %s on line %d
 bool(false)
-done!
\ No newline at end of file
+done!
index 2b3acb7197739f2e54156d93adfc394a171d8197..b64982a42fa195d045e8363cfbb109fe45a242c7 100644 (file)
@@ -15,8 +15,8 @@ $link   = NULL;
 if (false !== ($tmp = @mysql_error()))
        printf("[001] Expecting boolean/false, got %s/%s\n", gettype($tmp), $tmp);
 
-if (false !== ($tmp = @mysql_error($link)))
-       printf("[002] Expecting boolean/false, got %s/%s\n", gettype($tmp), $tmp);
+if (NULL !== ($tmp = @mysql_error($link)))
+       printf("[002] Expecting NULL, got %s/%s\n", gettype($tmp), $tmp);
 
 if (!is_null($tmp = @mysql_error($link, 'too many args')))
        printf("[002b] Expecting NULL, got %s/%s\n", gettype($tmp), $tmp);
@@ -60,4 +60,4 @@ print "done!";
 --EXPECTF--
 Warning: mysql_error(): %d is not a valid MySQL-Link resource in %s on line %d
 bool(false)
-done!
\ No newline at end of file
+done!
index 7a50e23ca0c88d192d11382ba7a493b9c7aee951..c46335f9d6d143e9f2e0de4f9775e1648bec5dfc 100644 (file)
@@ -16,8 +16,8 @@ require_once('skipifconnectfailure.inc');
        if (!is_null($tmp = @mysql_fetch_field()))
                printf("[001] Expecting NULL, got %s/%s\n", gettype($tmp), $tmp);
 
-       if (false !== ($tmp = @mysql_fetch_field($link)))
-               printf("[002] Expecting boolean/false, got %s/%s\n", gettype($tmp), $tmp);
+       if (NULL !== ($tmp = @mysql_fetch_field($link)))
+               printf("[002] Expecting NULL, got %s/%s\n", gettype($tmp), $tmp);
 
        require('table.inc');
 
index 32c6ea90947fc01fcea2a2ae83faa725b397ea15..4b181765b470f8ae478f34257423bdd97cc220d4 100644 (file)
@@ -15,8 +15,8 @@ $link   = NULL;
 if (!is_null($tmp = @mysql_fetch_lengths()))
        printf("[001] Expecting NULL, got %s/%s\n", gettype($tmp), $tmp);
 
-if (false !== ($tmp = @mysql_fetch_lengths($link)))
-       printf("[002] Expecting boolean/false, got %s/%s\n", gettype($tmp), $tmp);
+if (NULL !== ($tmp = @mysql_fetch_lengths($link)))
+       printf("[002] Expecting NULL, got %s/%s\n", gettype($tmp), $tmp);
 
 require('table.inc');
 if (!$res = mysql_query("SELECT id, label FROM test ORDER BY id LIMIT 1", $link)) {
@@ -45,4 +45,4 @@ bool(false)
 
 Warning: mysql_fetch_lengths(): %d is not a valid MySQL result resource in %s on line %d
 bool(false)
-done!
\ No newline at end of file
+done!
index 4a63c907fcd2b1ff7e36f0585ffcbbacba7ebe75..c609123cc2c5f6b8540b3742a231691e0147b3a3 100644 (file)
@@ -136,7 +136,7 @@ mysql_close($link);
 print "done!";
 ?>
 --EXPECTF--
-Warning: Wrong parameter count for mysql_field_flags() in %s on line %d
+Warning: mysql_field_flags() expects exactly 2 parameters, 1 given in %s on line %d
 
 Warning: mysql_field_flags(): Field -1 is invalid for MySQL result index %d in %s on line %d
 
@@ -144,4 +144,4 @@ Warning: mysql_field_flags(): Field 2 is invalid for MySQL result index %d in %s
 
 Warning: mysql_field_flags(): %d is not a valid MySQL result resource in %s on line %d
 bool(false)
-done!
\ No newline at end of file
+done!
index 76c298112c054e996a6d42fa99ae32611ea268fb..a81e36a681bf4434c6809a317fc12fbbfbec855a 100644 (file)
@@ -43,7 +43,7 @@ mysql_close($link);
 print "done!";
 ?>
 --EXPECTF--
-Warning: Wrong parameter count for mysql_field_len() in %s on line %d
+Warning: mysql_field_len() expects exactly 2 parameters, 1 given in %s on line %d
 
 Warning: mysql_field_len(): Field -1 is invalid for MySQL result index %d in %s on line %d
 
@@ -51,4 +51,4 @@ Warning: mysql_field_len(): Field 2 is invalid for MySQL result index %d in %s o
 
 Warning: mysql_field_len(): %d is not a valid MySQL result resource in %s on line %d
 bool(false)
-done!
\ No newline at end of file
+done!
index c37ba6eb0453ebc2624aaff0348f487ccbb2e2f8..aeb516c8bbd70fd9e741f73ad62c0aeeb6617df4 100644 (file)
@@ -42,7 +42,7 @@ mysql_close($link);
 print "done!";
 ?>
 --EXPECTF--
-Warning: Wrong parameter count for mysql_field_name() in %s on line %d
+Warning: mysql_field_name() expects exactly 2 parameters, 1 given in %s on line %d
 
 Warning: mysql_field_name(): Field -1 is invalid for MySQL result index %d in %s on line %d
 string(2) "id"
@@ -62,4 +62,4 @@ Warning: mysql_field_name(): Field 2 is invalid for MySQL result index %d in %s
 
 Warning: mysql_field_name(): %d is not a valid MySQL result resource in %s on line %d
 bool(false)
-done!
\ No newline at end of file
+done!
index e82ac13abc177a7c63e8b1f046a542939093660c..5e552f8ee5ec450815bdc8848d1091371bb6a45b 100644 (file)
@@ -42,7 +42,7 @@ mysql_close($link);
 print "done!";
 ?>
 --EXPECTF--
-Warning: Wrong parameter count for mysql_field_table() in %s on line %d
+Warning: mysql_field_table() expects exactly 2 parameters, 1 given in %s on line %d
 
 Warning: mysql_field_table(): Field -1 is invalid for MySQL result index %d in %s on line %d
 string(4) "test"
@@ -62,4 +62,4 @@ Warning: mysql_field_table(): Field 2 is invalid for MySQL result index %d in %s
 
 Warning: mysql_field_table(): %d is not a valid MySQL result resource in %s on line %d
 bool(false)
-done!
\ No newline at end of file
+done!
index 61d8425fe7a0da851fa14ed11a0cf9a5e60bf775..2a72e2de88234c9124aeb9e2a16e55dbbb23b57f 100644 (file)
@@ -42,7 +42,7 @@ mysql_close($link);
 print "done!";
 ?>
 --EXPECTF--
-Warning: Wrong parameter count for mysql_field_type() in %s on line %d
+Warning: mysql_field_type() expects exactly 2 parameters, 1 given in %s on line %d
 
 Warning: mysql_field_type(): Field -1 is invalid for MySQL result index %d in %s on line %d
 string(3) "int"
@@ -62,4 +62,4 @@ Warning: mysql_field_type(): Field 2 is invalid for MySQL result index %d in %s
 
 Warning: mysql_field_type(): %d is not a valid MySQL result resource in %s on line %d
 bool(false)
-done!
\ No newline at end of file
+done!
index 95e5656a4f7cfb2e523a7b90a112a153ffd08d81..5a02ecff374c49c8de1b2a6233da44423e070afc 100644 (file)
@@ -15,8 +15,8 @@ $link   = NULL;
 if (!is_null($tmp = @mysql_free_result()))
        printf("[001] Expecting NULL, got %s/%s\n", gettype($tmp), $tmp);
 
-if (false !== ($tmp = @mysql_free_result($link)))
-       printf("[002] Expecting boolean/false, got %s/%s\n", gettype($tmp), $tmp);
+if (null !== ($tmp = @mysql_free_result($link)))
+       printf("[002] Expecting NULL, got %s/%s\n", gettype($tmp), $tmp);
 
 require('table.inc');
 if (!$res = mysql_query("SELECT id FROM test ORDER BY id LIMIT 1", $link)) {
@@ -44,4 +44,4 @@ bool(true)
 
 Warning: mysql_free_result(): %d is not a valid MySQL result resource in %s on line %d
 bool(false)
-done!
\ No newline at end of file
+done!
index 213a792fd809c8a1d8bc2261cd49dab3c70c39fe..d0ee6803af72f47571e82325c21a3a19683d6745 100644 (file)
@@ -9,8 +9,8 @@ require_once('skipifconnectfailure.inc');
 <?php
 include_once "connect.inc";
 
-if (false !== ($tmp = @mysql_get_host_info(NULL)))
-       printf("[001] Expecting boolean/false, got %s/%s\n", gettype($tmp), $tmp);
+if (NULL !== ($tmp = @mysql_get_host_info(NULL)))
+       printf("[001] Expecting NULL, got %s/%s\n", gettype($tmp), $tmp);
 
 require "table.inc";
 if (!is_string($info = mysql_get_host_info($link)) || ('' === $info))
@@ -37,4 +37,4 @@ if (!is_null($tmp = @mysql_get_host_info($link, "too many arguments"))) {
 print "done!";
 ?>
 --EXPECTF--
-done!
\ No newline at end of file
+done!
index 989141a47fbf30aefa3105c7e82f33fb705fabb5..3dae99314b3ce01b288fdd3e4018dcc550ebc05d 100644 (file)
@@ -9,8 +9,8 @@ require_once('skipifconnectfailure.inc');
 <?php
 include_once "connect.inc";
 
-if (false !== ($tmp = @mysql_get_proto_info(NULL)))
-       printf("[002] Expecting boolean/false, got %s/%s\n", gettype($tmp), $tmp);
+if (NULL !== ($tmp = @mysql_get_proto_info(NULL)))
+       printf("[002] Expecting NULL, got %s/%s\n", gettype($tmp), $tmp);
 
 require "table.inc";
 if (!is_int($info = mysql_get_proto_info($link)) || (0 === $info))
index b759f47f692660e5e75fe1b6f08104afc671dfa7..83b9c35f40b64438d5ff1191c626e2ced7371318 100644 (file)
@@ -9,8 +9,8 @@ require_once('skipifconnectfailure.inc');
 <?php
 include "connect.inc";
 
-if (false !== ($tmp = @mysql_get_server_info(NULL)))
-       printf("[002] Expecting boolean/false, got %s/%s\n", gettype($tmp), $tmp);
+if (null !== ($tmp = @mysql_get_server_info(NULL)))
+       printf("[002] Expecting NULL, got %s/%s\n", gettype($tmp), $tmp);
 
 require "table.inc";
 if (!is_string($info = mysql_get_server_info($link)) || ('' === $info))
index 29ac78f2431204c6ca0b4d029f52f29ff184f54e..832f370b5f21ca17e9617d5be745c26e193731db 100644 (file)
@@ -15,8 +15,8 @@ $link   = NULL;
 if (false !== ($tmp = @mysql_insert_id()))
        printf("[001] Expecting boolean/false, got %s/%s\n", gettype($tmp), $tmp);
 
-if (false !== ($tmp = @mysql_insert_id($link)))
-       printf("[002] Expecting boolean/false, got %s/%s\n", gettype($tmp), $tmp);
+if (NULL !== ($tmp = @mysql_insert_id($link)))
+       printf("[002] Expecting NULL, got %s/%s\n", gettype($tmp), $tmp);
 
 if (!is_null($tmp = @mysql_insert_id($link, 'too many args')))
        printf("[002a] Expecting NULL, got %s/%s\n", gettype($tmp), $tmp);
@@ -63,4 +63,4 @@ print "done!";
 --EXPECTF--
 Warning: mysql_insert_id(): %d is not a valid MySQL-Link resource in %s on line %d
 bool(false)
-done!
\ No newline at end of file
+done!
index f79ee2d127fef8d9e3c6d0e1f8edd30ea6a780e2..7c8828d7aa2eeefc8f954b57a4aa42a5f07ff3b6 100644 (file)
@@ -12,8 +12,8 @@ include_once "connect.inc";
 $tmp    = NULL;
 $link   = NULL;
 
-if (false !== ($tmp = @mysql_list_dbs(NULL)))
-       printf("[001] Expecting boolean/false, got %s/%s\n", gettype($tmp), $tmp);
+if (NULL !== ($tmp = @mysql_list_dbs(NULL)))
+       printf("[001] Expecting NULL, got %s/%s\n", gettype($tmp), $tmp);
 
 if (NULL !== ($tmp = @mysql_list_dbs($link, $link)))
        printf("[002] Expecting NULL, got %s/%s\n", gettype($tmp), $tmp);
index 6b66dd7067ded575b0569ac48c258b33b6616567..820ad378a0c1d6598ab996d1a2dc49a20505763f 100644 (file)
@@ -21,8 +21,8 @@ if (NULL !== ($tmp = @mysql_list_tables('too', 'many', 'arguments')))
 if (false !== ($tmp = @mysql_list_tables(NULL)))
        printf("[003] Expecting boolean/false got %s/%s\n", gettype($tmp), $tmp);
 
-if (false !== ($tmp = @mysql_list_tables($db, NULL)))
-       printf("[004] Expecting boolean/false got %s/%s\n", gettype($tmp), $tmp);
+if (NULL !== ($tmp = @mysql_list_tables($db, NULL)))
+       printf("[004] Expecting NULL got %s/%s\n", gettype($tmp), $tmp);
 
 require_once('table.inc');
 
@@ -78,4 +78,4 @@ mysql_close($link);
 print "done!\n";
 ?>
 --EXPECTF--
-done!
\ No newline at end of file
+done!
index c49234a0a3d12f376c5b4299d513d6246bdf5d0c..3ec305ea2d64856e4e20203fdd69f8c9dcad5ef4 100644 (file)
@@ -15,8 +15,8 @@ $link   = NULL;
 if (!is_null($tmp = @mysql_num_fields()))
        printf("[001] Expecting NULL, got %s/%s\n", gettype($tmp), $tmp);
 
-if (false !== ($tmp = @mysql_num_fields($link)))
-       printf("[002] Expecting boolean/false, got %s/%s\n", gettype($tmp), $tmp);
+if (NULL !== ($tmp = @mysql_num_fields($link)))
+       printf("[002] Expecting NULL, got %s/%s\n", gettype($tmp), $tmp);
 
 require('table.inc');
 
@@ -49,4 +49,4 @@ print "done!";
 ?>
 --EXPECTF--
 Warning: mysql_num_fields(): %d is not a valid MySQL result resource in %s on line %d
-done!
\ No newline at end of file
+done!
index 14c4c4e0b21e79688f03dc317bdc7e5bfce13b7e..d93b4e2ffce75c82d9ee5aa548528a032a652c10 100644 (file)
@@ -15,8 +15,8 @@ $link   = NULL;
 if (!is_null($tmp = @mysql_num_rows()))
 printf("[001] Expecting NULL, got %s/%s\n", gettype($tmp), $tmp);
 
-if (false !== ($tmp = @mysql_num_rows($link)))
-printf("[002] Expecting boolean/false, got %s/%s\n", gettype($tmp), $tmp);
+if (NULL !== ($tmp = @mysql_num_rows($link)))
+printf("[002] Expecting NULL, got %s/%s\n", gettype($tmp), $tmp);
 
 require('table.inc');
 
@@ -40,7 +40,7 @@ function func_test_mysql_num_rows($link, $query, $expected, $offset, $test_free
 
 func_test_mysql_num_rows($link, "SELECT 1 AS a", 1, 5);
 func_test_mysql_num_rows($link, "SHOW VARIABLES LIKE '%nixnutz%'", 0, 10);
-func_test_mysql_num_rows($link, "INSERT INTO test(id, label) VALUES (100, 'z')", false, 15);
+func_test_mysql_num_rows($link, "INSERT INTO test(id, label) VALUES (100, 'z')", NULL, 15);
 func_test_mysql_num_rows($link, "SELECT id FROM test LIMIT 2", 2, 20, true);
 
 if ($res = mysql_query('SELECT COUNT(id) AS num FROM test', $link)) {
@@ -58,9 +58,9 @@ mysql_close($link);
 print "done!";
 ?>
 --EXPECTF--
-Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in %s on line %d
+Warning: mysql_num_rows() expects parameter 1 to be resource, boolean given in %s on line %d
 
-Warning: mysql_free_result(): supplied argument is not a valid MySQL result resource in %s on line %d
+Warning: mysql_free_result() expects parameter 1 to be resource, boolean given in %s on line %d
 
 Warning: mysql_num_rows(): %d is not a valid MySQL result resource in %s on line %d
-done!
\ No newline at end of file
+done!
index 7524cdb3434fa820eb61af7885b31696b6fc6b91..684734a7d07ca4f6cbb3a266c987ad3e809976ce 100644 (file)
@@ -42,7 +42,7 @@ mysql_close($link);
 print "done!";
 ?>
 --EXPECTF--
-Warning: Wrong parameter count for mysql_tablename() in %s on line %d
+Warning: mysql_tablename() expects at least 2 parameters, 1 given in %s on line %d
 
 Warning: mysql_tablename(): Unable to jump to row -1 on MySQL result index %d in %s on line %d
 string(1) "1"
@@ -62,4 +62,4 @@ Warning: mysql_tablename(): Unable to jump to row 2 on MySQL result index %d in
 
 Warning: mysql_tablename(): %d is not a valid MySQL result resource in %s on line %d
 bool(false)
-done!
\ No newline at end of file
+done!