]> granicus.if.org Git - php/commitdiff
added new functions:
authorGeorg Richter <georg@php.net>
Fri, 18 Jul 2003 06:17:39 +0000 (06:17 +0000)
committerGeorg Richter <georg@php.net>
Fri, 18 Jul 2003 06:17:39 +0000 (06:17 +0000)
  mysqli_connect_error
  mysqli_connect_errno

  which return possible errors for the last connect

ext/mysqli/mysqli_api.c
ext/mysqli/mysqli_fe.c
ext/mysqli/mysqli_nonapi.c
ext/mysqli/php_mysqli.h

index f5b6221be28082fb263804c8528789e1882504cc..451bc4394ef5dd7fb446e6b1c0b8dbe2cb9580a5 100644 (file)
@@ -1422,6 +1422,8 @@ PHP_FUNCTION(mysqli_real_connect)
                php_error_docref(NULL TSRMLS_CC, E_WARNING, "%s", mysql_error(mysql));
                RETURN_FALSE;
        }
+       php_mysqli_set_error(mysql_errno(mysql), (char *)mysql_error(mysql) TSRMLS_CC);
+       
        RETURN_TRUE;
 }
 /* }}} */
@@ -1675,23 +1677,23 @@ PHP_FUNCTION(mysqli_stmt_close)
 /* }}} */
 
 /* {{{ proto void mysqli_stmt_data_seek(object stmt, int offset)
-   Move internal result pointer */
+Move internal result pointer */
 PHP_FUNCTION(mysqli_stmt_data_seek)
 {
-       STMT            *stmt;
-       zval            *mysql_stmt;
-       PR_STMT         *prstmt;  
-       long            offset;
+STMT           *stmt;
+zval           *mysql_stmt;
+PR_STMT        *prstmt;  
+long           offset;
 
-       if (zend_parse_method_parameters(ZEND_NUM_ARGS() TSRMLS_CC, getThis(), "Ol", &mysql_stmt, mysqli_stmt_class_entry, &offset) == FAILURE) {
-               return;
-       }
+if (zend_parse_method_parameters(ZEND_NUM_ARGS() TSRMLS_CC, getThis(), "Ol", &mysql_stmt, mysqli_stmt_class_entry, &offset) == FAILURE) {
+       return;
+}
 
-       MYSQLI_FETCH_RESOURCE(stmt, STMT *, prstmt, PR_STMT *, &mysql_stmt, "mysqli_stmt");
+MYSQLI_FETCH_RESOURCE(stmt, STMT *, prstmt, PR_STMT *, &mysql_stmt, "mysqli_stmt");
 
 
-       mysql_stmt_data_seek(stmt->stmt, offset);
-       return;
+mysql_stmt_data_seek(stmt->stmt, offset);
+return;
 }
 /* }}} */
 
index 5e0389c8cb9168e72f88e1cdd0ed715736708545..6c6f50ee3b41cbd5e25d078c32684af5b78a7c7f 100644 (file)
@@ -50,6 +50,8 @@ function_entry mysqli_functions[] = {
        PHP_FE(mysqli_close,                                                            NULL)
        PHP_FE(mysqli_commit,                                                           NULL)
        PHP_FE(mysqli_connect,                                                          NULL)
+       PHP_FE(mysqli_connect_errno,                                            NULL)
+       PHP_FE(mysqli_connect_error,                                            NULL)
        PHP_FE(mysqli_data_seek,                                                        NULL)
        PHP_FE(mysqli_debug,                                                            NULL)
        PHP_FE(mysqli_disable_reads_from_master,                        NULL)
index 86d4fc52a06e5696a835389ad1737cdd7aa77baa..b0b6fc9460be98107561726082e09efb842af2a3 100644 (file)
@@ -76,6 +76,7 @@ PHP_FUNCTION(mysqli_connect)
                mysql_close(mysql);
                RETURN_FALSE;
        }
+       php_mysqli_set_error(mysql_errno(mysql), (char *) mysql_error(mysql) TSRMLS_CC);
 
        if (MyG(profiler)) {
                prmysql = (PR_MYSQL *)MYSQLI_PROFILER_NEW(prmain, MYSQLI_PR_MYSQL, 0);
@@ -99,6 +100,22 @@ PHP_FUNCTION(mysqli_connect)
 }
 /* }}} */
 
+/* {{{ proto int mysqli_connct_errno()
+   Returns the numerical value of the error message from last connect command */
+PHP_FUNCTION(mysqli_connect_errno)
+{
+       RETURN_LONG(MyG(error_no));
+}
+/* }}} */
+
+/* {{{ proto string mysqli_connect_error()
+   Returns the text of the error message from previous MySQL operation */
+PHP_FUNCTION(mysqli_connect_error) 
+{
+       RETURN_STRING(MyG(error_msg),1);
+}
+/* }}} */
+
 /* {{{ proto array mysqli_fetch_array (object result [,int resulttype])
    Fetch a result row as an associative array, a numeric array, or both */
 PHP_FUNCTION(mysqli_fetch_array) 
index c9e72588faa11a00236a69f362998ff0d96c3ed3..4b0ca2668562dfc4559a9bcd5a9f340c8e453fc7 100644 (file)
@@ -203,6 +203,8 @@ PHP_FUNCTION(mysqli_character_set_name);
 PHP_FUNCTION(mysqli_close);
 PHP_FUNCTION(mysqli_commit);
 PHP_FUNCTION(mysqli_connect);
+PHP_FUNCTION(mysqli_connect_errno);
+PHP_FUNCTION(mysqli_connect_error);
 PHP_FUNCTION(mysqli_data_seek);
 PHP_FUNCTION(mysqli_debug);
 PHP_FUNCTION(mysqli_disable_reads_from_master);