summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGeorg Richter <georg@php.net>2004-12-29 11:46:13 +0000
committerGeorg Richter <georg@php.net>2004-12-29 11:46:13 +0000
commit57fa54af2d6b1cc97f20c4a993a8d15034897fe8 (patch)
tree1096699a258278ede0c55f617a5e5c17a687f3a3
parente8a505bd3d6849b5d4a727ebf72a306849120416 (diff)
downloadphp-git-57fa54af2d6b1cc97f20c4a993a8d15034897fe8.tar.gz
added property 'id' to retrieve statement id (required by PEAR DB, to support
mysqli prepared statements)
-rw-r--r--ext/mysqli/mysqli_prop.c26
1 files changed, 21 insertions, 5 deletions
diff --git a/ext/mysqli/mysqli_prop.c b/ext/mysqli/mysqli_prop.c
index 6e8b5331de..714e75935e 100644
--- a/ext/mysqli/mysqli_prop.c
+++ b/ext/mysqli/mysqli_prop.c
@@ -196,6 +196,26 @@ MYSQLI_MAP_PROPERTY_FUNC_LONG(result_field_count_read, mysql_num_fields, MYSQLI_
MYSQLI_MAP_PROPERTY_FUNC_LONG(result_num_rows_read, mysql_num_rows, MYSQLI_GET_RESULT(), my_ulonglong);
/* statement properties */
+
+/* {{{ property stmt_id_read */
+int stmt_id_read(mysqli_object *obj, zval **retval TSRMLS_DC)
+{
+ MY_STMT *p;
+
+ ALLOC_ZVAL(*retval);
+ CHECK_OBJECT();
+
+ p = (MY_STMT*)((MYSQLI_RESOURCE *)(obj->ptr))->ptr;
+
+ if (!p) {
+ ZVAL_NULL(*retval);
+ } else {
+ ZVAL_LONG(*retval, p->stmt->stmt_id);
+ }
+ return SUCCESS;
+}
+/* }}} */
+
MYSQLI_MAP_PROPERTY_FUNC_LONG(stmt_affected_rows_read, mysql_stmt_affected_rows, MYSQLI_GET_STMT(), my_ulonglong);
MYSQLI_MAP_PROPERTY_FUNC_LONG(stmt_insert_id_read, mysql_stmt_insert_id, MYSQLI_GET_STMT(), my_ulonglong);
MYSQLI_MAP_PROPERTY_FUNC_LONG(stmt_num_rows_read, mysql_stmt_num_rows, MYSQLI_GET_STMT(), my_ulonglong);
@@ -240,15 +260,11 @@ mysqli_property_entry mysqli_stmt_property_entries[] = {
{"insert_id", stmt_insert_id_read, NULL},
{"num_rows", stmt_num_rows_read, NULL},
{"param_count", stmt_param_count_read, NULL},
-
-/* TODO: stmt->field_count doesn't work currently, remove comments until mysqli_stmt_field_count
- is implemented in client library
-*/
{"field_count", stmt_field_count_read, NULL},
-
{"errno", stmt_errno_read, NULL},
{"error", stmt_error_read, NULL},
{"sqlstate", stmt_sqlstate_read, NULL},
+ {"id", stmt_id_read, NULL},
{NULL, NULL, NULL}
};