}
if (ret == SUCCESS) {
- if ((!obj->ptr || ((MYSQLI_RESOURCE *)(obj->ptr))->status < MYSQLI_STATUS_INITIALIZED))
- {
- php_error_docref(NULL TSRMLS_CC, E_WARNING, "Couldn't fetch %v", obj->zo.ce->name );
- retval = EG(uninitialized_zval_ptr);
- return(retval);
- }
-
ret = hnd->read_func(obj, &retval TSRMLS_CC);
if (ret == SUCCESS) {
/* ensure we're creating a temporary variable */
#include "php_mysqli_structs.h"
#define CHECK_STATUS(value) \
- if (((MYSQLI_RESOURCE *)obj->ptr)->status < value ) { \
+ if (!obj->ptr || ((MYSQLI_RESOURCE *)obj->ptr)->status < value ) { \
php_error_docref(NULL TSRMLS_CC, E_WARNING, "Property access is not allowed yet"); \
ZVAL_NULL(*retval); \
return SUCCESS; \
static int link_connect_errno_read(mysqli_object *obj, zval **retval TSRMLS_DC)
{
MAKE_STD_ZVAL(*retval);
- CHECK_STATUS(MYSQLI_STATUS_INITIALIZED);
ZVAL_LONG(*retval, (long)MyG(error_no));
return SUCCESS;
}
static int link_connect_error_read(mysqli_object *obj, zval **retval TSRMLS_DC)
{
MAKE_STD_ZVAL(*retval);
- CHECK_STATUS(MYSQLI_STATUS_INITIALIZED);
- ZVAL_UTF8_STRING(*retval, MyG(error_msg), ZSTR_DUPLICATE)
+ if (MyG(error_msg)) {
+ ZVAL_UTF8_STRING(*retval, MyG(error_msg), ZSTR_DUPLICATE);
+ } else {
+ ZVAL_NULL(*retval);
+ }
return SUCCESS;
}
/* }}} */
MAKE_STD_ZVAL(*retval);
+ CHECK_STATUS(MYSQLI_STATUS_INITIALIZED);
+
mysql = (MY_MYSQL *)((MYSQLI_RESOURCE *)(obj->ptr))->ptr;
if (!mysql) {