Back to index

php5  5.3.10
Functions | Variables
mysqli_exception.c File Reference
#include <signal.h>
#include "php.h"
#include "php_ini.h"
#include "ext/standard/info.h"
#include "php_mysqli_structs.h"
#include "mysqli_priv.h"
#include "zend_exceptions.h"

Go to the source code of this file.

Functions

void php_mysqli_throw_sql_exception (char *sqlstate, int errorno TSRMLS_DC, char *format,...)

Variables

const zend_function_entry mysqli_exception_methods []

Function Documentation

void php_mysqli_throw_sql_exception ( char *  sqlstate,
int errorno  TSRMLS_DC,
char *  format,
  ... 
)

Definition at line 39 of file mysqli_exception.c.

{
       zval   *sql_ex;
       va_list arg;
       char   *message;

       va_start(arg, format);
       vspprintf(&message, 0, format, arg);
       va_end(arg);;

       if (!(MyG(report_mode) & MYSQLI_REPORT_STRICT)) {
              php_error_docref(NULL TSRMLS_CC, E_WARNING, "(%s/%d): %s", sqlstate, errorno, message);
              efree(message);
              return;
       }

       MAKE_STD_ZVAL(sql_ex);
       object_init_ex(sql_ex, mysqli_exception_class_entry);

       if (message) {
              zend_update_property_string(mysqli_exception_class_entry, sql_ex, "message", sizeof("message") - 1,
                                                               message TSRMLS_CC);
       }

       if (sqlstate) {
              zend_update_property_string(mysqli_exception_class_entry, sql_ex, "sqlstate", sizeof("sqlstate") - 1,
                                                               sqlstate TSRMLS_CC);
       } else {
              zend_update_property_string(mysqli_exception_class_entry, sql_ex, "sqlstate", sizeof("sqlstate") - 1,
                                                               "00000" TSRMLS_CC);
       }

       efree(message);
       zend_update_property_long(mysqli_exception_class_entry, sql_ex, "code", sizeof("code") - 1, errorno TSRMLS_CC);

       zend_throw_exception_object(sql_ex TSRMLS_CC);
}

Here is the call graph for this function:

Here is the caller graph for this function:


Variable Documentation

Initial value:
 {
       {NULL, NULL, NULL}
}

Definition at line 34 of file mysqli_exception.c.