]> granicus.if.org Git - php/commitdiff
add error checking
authorAndrey Hristov <andrey@php.net>
Sat, 6 Aug 2005 16:38:48 +0000 (16:38 +0000)
committerAndrey Hristov <andrey@php.net>
Sat, 6 Aug 2005 16:38:48 +0000 (16:38 +0000)
ext/mysqli/mysqli_nonapi.c

index 7387b2e60bae61f17a6bb9edcbcf872d76e11368..a1ce0079d3818043983b6e6c7b103d8c898a21d3 100644 (file)
@@ -213,11 +213,21 @@ PHP_FUNCTION(mysqli_query)
        MYSQL_RES                       *result;
        char                            *query = NULL;
        unsigned int            query_len;
-       unsigned long           resultmode = 0;
+       unsigned long           resultmode = MYSQLI_STORE_RESULT;
 
        if (zend_parse_method_parameters(ZEND_NUM_ARGS() TSRMLS_CC, getThis(), "Os|l", &mysql_link, mysqli_link_class_entry, &query, &query_len, &resultmode) == FAILURE) {
                return;
        }
+
+       if (!query_len) {
+               php_error_docref(NULL TSRMLS_CC, E_WARNING, "Empty query");
+               RETURN_FALSE;
+       }
+       if (resultmode != MYSQLI_USE_RESULT && resultmode != MYSQLI_STORE_RESULT) {
+               php_error_docref(NULL TSRMLS_CC, E_WARNING, "Invalid value for resultmode");
+               RETURN_FALSE;
+       }
+
        MYSQLI_FETCH_RESOURCE(mysql, MY_MYSQL*, &mysql_link, "mysqli_link");
 
        MYSQLI_DISABLE_MQ;