@@ -984,12 +984,15 @@ PHP_FUNCTION(pg_query)
984984 }
985985 link = FETCH_DEFAULT_LINK ();
986986 CHECK_DEFAULT_LINK (link );
987- } else {
987+ } else if ( ZEND_NUM_ARGS () == 2 ) {
988988 if (zend_parse_parameters (ZEND_NUM_ARGS (), "Os" , & pgsql_link , pgsql_link_ce , & query , & query_len ) == FAILURE ) {
989989 RETURN_THROWS ();
990990 }
991991 link = Z_PGSQL_LINK_P (pgsql_link );
992992 CHECK_PGSQL_LINK (link );
993+ } else {
994+ zend_wrong_parameters_count_error (1 , 2 );
995+ RETURN_THROWS ();
993996 }
994997
995998 pgsql = link -> conn ;
@@ -1078,12 +1081,15 @@ PHP_FUNCTION(pg_query_params)
10781081 }
10791082 link = FETCH_DEFAULT_LINK ();
10801083 CHECK_DEFAULT_LINK (link );
1081- } else {
1084+ } else if ( ZEND_NUM_ARGS () == 3 ) {
10821085 if (zend_parse_parameters (ZEND_NUM_ARGS (), "Osa" , & pgsql_link , pgsql_link_ce , & query , & query_len , & pv_param_arr ) == FAILURE ) {
10831086 RETURN_THROWS ();
10841087 }
10851088 link = Z_PGSQL_LINK_P (pgsql_link );
10861089 CHECK_PGSQL_LINK (link );
1090+ } else {
1091+ zend_wrong_parameters_count_error (2 , 3 );
1092+ RETURN_THROWS ();
10871093 }
10881094
10891095 pgsql = link -> conn ;
@@ -1183,12 +1189,15 @@ PHP_FUNCTION(pg_prepare)
11831189 }
11841190 link = FETCH_DEFAULT_LINK ();
11851191 CHECK_DEFAULT_LINK (link );
1186- } else {
1192+ } else if ( ZEND_NUM_ARGS () == 3 ) {
11871193 if (zend_parse_parameters (ZEND_NUM_ARGS (), "Oss" , & pgsql_link , pgsql_link_ce , & stmtname , & stmtname_len , & query , & query_len ) == FAILURE ) {
11881194 RETURN_THROWS ();
11891195 }
11901196 link = Z_PGSQL_LINK_P (pgsql_link );
11911197 CHECK_PGSQL_LINK (link );
1198+ } else {
1199+ zend_wrong_parameters_count_error (2 , 3 );
1200+ RETURN_THROWS ();
11921201 }
11931202
11941203 pgsql = link -> conn ;
@@ -1264,12 +1273,15 @@ PHP_FUNCTION(pg_execute)
12641273 }
12651274 link = FETCH_DEFAULT_LINK ();
12661275 CHECK_DEFAULT_LINK (link );
1267- } else {
1276+ } else if ( ZEND_NUM_ARGS () == 3 ) {
12681277 if (zend_parse_parameters (ZEND_NUM_ARGS (), "Osa" , & pgsql_link , pgsql_link_ce , & stmtname , & stmtname_len , & pv_param_arr ) == FAILURE ) {
12691278 RETURN_THROWS ();
12701279 }
12711280 link = Z_PGSQL_LINK_P (pgsql_link );
12721281 CHECK_PGSQL_LINK (link );
1282+ } else {
1283+ zend_wrong_parameters_count_error (2 , 3 );
1284+ RETURN_THROWS ();
12731285 }
12741286
12751287 pgsql = link -> conn ;
@@ -2024,7 +2036,7 @@ static void php_pgsql_data_info(INTERNAL_FUNCTION_PARAMETERS, int entry_type, bo
20242036 Z_PARAM_OBJECT_OF_CLASS (result , pgsql_result_ce )
20252037 Z_PARAM_STR_OR_LONG (field_name , field_offset )
20262038 ZEND_PARSE_PARAMETERS_END ();
2027- } else {
2039+ } else if ( ZEND_NUM_ARGS () == 3 ) {
20282040 ZEND_PARSE_PARAMETERS_START (3 , 3 )
20292041 Z_PARAM_OBJECT_OF_CLASS (result , pgsql_result_ce )
20302042 if (nullable_row ) {
@@ -2034,6 +2046,9 @@ static void php_pgsql_data_info(INTERNAL_FUNCTION_PARAMETERS, int entry_type, bo
20342046 }
20352047 Z_PARAM_STR_OR_LONG (field_name , field_offset )
20362048 ZEND_PARSE_PARAMETERS_END ();
2049+ } else {
2050+ zend_wrong_parameters_count_error (2 , 3 );
2051+ RETURN_THROWS ();
20372052 }
20382053
20392054 pg_result = Z_PGSQL_RESULT_P (result );
@@ -2849,12 +2864,15 @@ PHP_FUNCTION(pg_set_error_verbosity)
28492864 }
28502865 link = FETCH_DEFAULT_LINK ();
28512866 CHECK_DEFAULT_LINK (link );
2852- } else {
2867+ } else if ( ZEND_NUM_ARGS () == 2 ) {
28532868 if (zend_parse_parameters (ZEND_NUM_ARGS (), "Ol" , & pgsql_link , pgsql_link_ce , & verbosity ) == FAILURE ) {
28542869 RETURN_THROWS ();
28552870 }
28562871 link = Z_PGSQL_LINK_P (pgsql_link );
28572872 CHECK_PGSQL_LINK (link );
2873+ } else {
2874+ zend_wrong_parameters_count_error (1 , 2 );
2875+ RETURN_THROWS ();
28582876 }
28592877
28602878 pgsql = link -> conn ;
@@ -2907,12 +2925,15 @@ PHP_FUNCTION(pg_set_client_encoding)
29072925 }
29082926 link = FETCH_DEFAULT_LINK ();
29092927 CHECK_DEFAULT_LINK (link );
2910- } else {
2928+ } else if ( ZEND_NUM_ARGS () == 2 ) {
29112929 if (zend_parse_parameters (ZEND_NUM_ARGS (), "Os" , & pgsql_link , pgsql_link_ce , & encoding , & encoding_len ) == FAILURE ) {
29122930 RETURN_THROWS ();
29132931 }
29142932 link = Z_PGSQL_LINK_P (pgsql_link );
29152933 CHECK_PGSQL_LINK (link );
2934+ } else {
2935+ zend_wrong_parameters_count_error (1 , 2 );
2936+ RETURN_THROWS ();
29162937 }
29172938
29182939 pgsql = link -> conn ;
@@ -2996,12 +3017,15 @@ PHP_FUNCTION(pg_put_line)
29963017 }
29973018 link = FETCH_DEFAULT_LINK ();
29983019 CHECK_DEFAULT_LINK (link );
2999- } else {
3020+ } else if ( ZEND_NUM_ARGS () == 2 ) {
30003021 if (zend_parse_parameters (ZEND_NUM_ARGS (), "Os" , & pgsql_link , pgsql_link_ce , & query , & query_len ) == FAILURE ) {
30013022 RETURN_THROWS ();
30023023 }
30033024 link = Z_PGSQL_LINK_P (pgsql_link );
30043025 CHECK_PGSQL_LINK (link );
3026+ } else {
3027+ zend_wrong_parameters_count_error (1 , 2 );
3028+ RETURN_THROWS ();
30053029 }
30063030
30073031 pgsql = link -> conn ;
0 commit comments