⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mysqli_api.c

📁 linux下安装不上mysql5与php5的可用此关联
💻 C
📖 第 1 页 / 共 5 页
字号:
   Return the number of rows affected in the last query for the given link */PHP_FUNCTION(mysqli_stmt_affected_rows){	MY_STMT 		*stmt;	zval    		*mysql_stmt;	my_ulonglong	rc;	if (zend_parse_method_parameters(ZEND_NUM_ARGS() TSRMLS_CC, getThis(), "O", &mysql_stmt, mysqli_stmt_class_entry) == FAILURE) {		return;	}	MYSQLI_FETCH_RESOURCE(stmt, MY_STMT *, &mysql_stmt, "mysqli_stmt", MYSQLI_STATUS_VALID);	rc = mysql_stmt_affected_rows(stmt->stmt);	if (rc == (my_ulonglong) -1) {		RETURN_LONG(-1);	}	MYSQLI_RETURN_LONG_LONG(rc)}/* }}} *//* {{{ proto bool mysqli_stmt_close(object stmt) U   Close statement */PHP_FUNCTION(mysqli_stmt_close){	MY_STMT 	*stmt;	zval    	*mysql_stmt;	if (zend_parse_method_parameters(ZEND_NUM_ARGS() TSRMLS_CC, getThis(), "O", &mysql_stmt, mysqli_stmt_class_entry) == FAILURE) {		return;	}	MYSQLI_FETCH_RESOURCE(stmt, MY_STMT *, &mysql_stmt, "mysqli_stmt", MYSQLI_STATUS_VALID);	mysqli_stmt_close(stmt->stmt, FALSE);	stmt->stmt = NULL;	php_clear_stmt_bind(stmt TSRMLS_CC); 	MYSQLI_CLEAR_RESOURCE(&mysql_stmt);	RETURN_TRUE;}/* }}} *//* {{{ proto void mysqli_stmt_data_seek(object stmt, int offset) U   Move internal result pointer */PHP_FUNCTION(mysqli_stmt_data_seek){	MY_STMT 	*stmt;	zval  		*mysql_stmt;	long  		offset;	if (zend_parse_method_parameters(ZEND_NUM_ARGS() TSRMLS_CC, getThis(), "Ol", &mysql_stmt, mysqli_stmt_class_entry, &offset) == FAILURE) {		return;	}	if (offset < 0) {		php_error_docref(NULL TSRMLS_CC, E_WARNING, "Offset must be positive");		RETURN_FALSE;	}	MYSQLI_FETCH_RESOURCE(stmt, MY_STMT *, &mysql_stmt, "mysqli_stmt", MYSQLI_STATUS_VALID);	mysql_stmt_data_seek(stmt->stmt, offset);}/* }}} *//* {{{ proto int mysqli_stmt_field_count(object stmt) U   Return the number of result columns for the given statement */PHP_FUNCTION(mysqli_stmt_field_count){	MY_STMT 	*stmt;	zval		*mysql_stmt;		if (zend_parse_method_parameters(ZEND_NUM_ARGS() TSRMLS_CC, getThis(), "O", &mysql_stmt, mysqli_stmt_class_entry) == FAILURE) {		return;	}	MYSQLI_FETCH_RESOURCE(stmt, MY_STMT *, &mysql_stmt, "mysqli_stmt", MYSQLI_STATUS_VALID);			RETURN_LONG(mysql_stmt_field_count(stmt->stmt));}/* }}} *//* {{{ proto void mysqli_stmt_free_result(object stmt) U   Free stored result memory for the given statement handle */PHP_FUNCTION(mysqli_stmt_free_result) {	MY_STMT 		*stmt;	zval    		*mysql_stmt;	if (zend_parse_method_parameters(ZEND_NUM_ARGS() TSRMLS_CC, getThis(), "O", &mysql_stmt, mysqli_stmt_class_entry) == FAILURE) {		return;	}	MYSQLI_FETCH_RESOURCE(stmt, MY_STMT *, &mysql_stmt, "mysqli_stmt", MYSQLI_STATUS_VALID);	mysql_stmt_free_result(stmt->stmt);}/* }}} *//* {{{ proto mixed mysqli_stmt_insert_id(object stmt) U   Get the ID generated from the previous INSERT operation */PHP_FUNCTION(mysqli_stmt_insert_id){	MY_STMT		 	*stmt;	my_ulonglong 	rc;	zval  			*mysql_stmt;	if (zend_parse_method_parameters(ZEND_NUM_ARGS() TSRMLS_CC, getThis(), "O", &mysql_stmt, mysqli_stmt_class_entry) == FAILURE) {		return;	}	MYSQLI_FETCH_RESOURCE(stmt, MY_STMT *, &mysql_stmt, "mysqli_stmt", MYSQLI_STATUS_VALID);	rc = mysql_stmt_insert_id(stmt->stmt);	MYSQLI_RETURN_LONG_LONG(rc)}/* }}} *//* {{{ proto int mysqli_stmt_param_count(object stmt) U   Return the number of parameter for the given statement */PHP_FUNCTION(mysqli_stmt_param_count){	MY_STMT 	*stmt;	zval		*mysql_stmt;		if (zend_parse_method_parameters(ZEND_NUM_ARGS() TSRMLS_CC, getThis(), "O", &mysql_stmt, mysqli_stmt_class_entry) == FAILURE) {		return;	}	MYSQLI_FETCH_RESOURCE(stmt, MY_STMT *, &mysql_stmt, "mysqli_stmt", MYSQLI_STATUS_VALID);			RETURN_LONG(mysql_stmt_param_count(stmt->stmt));}/* }}} *//* {{{ proto bool mysqli_stmt_reset(object stmt) U   reset a prepared statement */PHP_FUNCTION(mysqli_stmt_reset) {	MY_STMT 		*stmt;	zval    		*mysql_stmt;	if (zend_parse_method_parameters(ZEND_NUM_ARGS() TSRMLS_CC, getThis(), "O", &mysql_stmt, mysqli_stmt_class_entry) == FAILURE) {		return;	}	MYSQLI_FETCH_RESOURCE(stmt, MY_STMT *, &mysql_stmt, "mysqli_stmt", MYSQLI_STATUS_VALID);	if (mysql_stmt_reset(stmt->stmt)) {		RETURN_FALSE;	}	RETURN_TRUE;}/* }}} *//* {{{ proto mixed mysqli_stmt_num_rows(object stmt) U   Return the number of rows in statements result set */PHP_FUNCTION(mysqli_stmt_num_rows){	MY_STMT 		*stmt;	zval    		*mysql_stmt;	my_ulonglong	rc;	if (zend_parse_method_parameters(ZEND_NUM_ARGS() TSRMLS_CC, getThis(), "O", &mysql_stmt, mysqli_stmt_class_entry) == FAILURE) {		return;	}	MYSQLI_FETCH_RESOURCE(stmt, MY_STMT *, &mysql_stmt, "mysqli_stmt", MYSQLI_STATUS_VALID);	rc = mysql_stmt_num_rows(stmt->stmt);	MYSQLI_RETURN_LONG_LONG(rc)}/* }}} *//* {{{ proto bool mysqli_select_db(object link, string dbname) U   Select a MySQL database */PHP_FUNCTION(mysqli_select_db) {	MY_MYSQL		*mysql;	zval  			*mysql_link;	char			*dbname;	int				dbname_len;	if (zend_parse_method_parameters(ZEND_NUM_ARGS() TSRMLS_CC, getThis(), "Os&", &mysql_link, mysqli_link_class_entry, 									 &dbname, &dbname_len, UG(utf8_conv)) == FAILURE) {		return;	} 	MYSQLI_FETCH_RESOURCE(mysql, MY_MYSQL *, &mysql_link, "mysqli_link", MYSQLI_STATUS_VALID);		if (!mysql_select_db(mysql->mysql, dbname)) {		RETURN_TRUE;	} else {		MYSQLI_REPORT_MYSQL_ERROR(mysql->mysql);		RETURN_FALSE;	}}/* }}} *//* {{{ proto string mysqli_sqlstate(object link) U   Returns the SQLSTATE error from previous MySQL operation */PHP_FUNCTION(mysqli_sqlstate) {	MY_MYSQL 	*mysql;	zval  		*mysql_link;	if (zend_parse_method_parameters(ZEND_NUM_ARGS() TSRMLS_CC, getThis(), "O", &mysql_link, mysqli_link_class_entry) == FAILURE) {		return;	}	MYSQLI_FETCH_RESOURCE(mysql, MY_MYSQL *, &mysql_link, "mysqli_link", MYSQLI_STATUS_VALID);	RETURN_UTF8_STRING((char *)mysql_sqlstate(mysql->mysql), ZSTR_DUPLICATE);}/* }}} *//* {{{ proto bool mysqli_ssl_set(object link ,string key ,string cert ,string ca ,string capath ,string cipher]) U*/#if !defined(HAVE_MYSQLND)PHP_FUNCTION(mysqli_ssl_set){	MY_MYSQL		*mysql;	zval  			*mysql_link;	char			*ssl_parm[5];	int				ssl_parm_len[5];	if (zend_parse_method_parameters(ZEND_NUM_ARGS() TSRMLS_CC, getThis(), "Os&s&s&s&s&", &mysql_link, mysqli_link_class_entry,									&ssl_parm[0], &ssl_parm_len[0], UG(utf8_conv), &ssl_parm[1], &ssl_parm_len[1], UG(utf8_conv),									&ssl_parm[2], &ssl_parm_len[2], UG(utf8_conv), &ssl_parm[3], &ssl_parm_len[3], UG(utf8_conv),									&ssl_parm[4], &ssl_parm_len[4], UG(utf8_conv)) == FAILURE) {		return;	}	MYSQLI_FETCH_RESOURCE(mysql, MY_MYSQL *, &mysql_link, "mysqli_link", MYSQLI_STATUS_VALID);	mysql_ssl_set(mysql->mysql, ssl_parm[0], ssl_parm[1], ssl_parm[2], ssl_parm[3], ssl_parm[4]);		RETURN_TRUE;}#endif/* }}} */  /* {{{ proto mixed mysqli_stat(object link) U   Get current system status */PHP_FUNCTION(mysqli_stat){	MY_MYSQL 	*mysql;	zval  		*mysql_link;	char		*stat = NULL;#if defined(HAVE_MYSQLND)	uint		stat_len;#endif	if (zend_parse_method_parameters(ZEND_NUM_ARGS() TSRMLS_CC, getThis(), "O", &mysql_link, mysqli_link_class_entry) == FAILURE) {		return;	}	MYSQLI_FETCH_RESOURCE(mysql, MY_MYSQL *, &mysql_link, "mysqli_link", MYSQLI_STATUS_VALID);#if !defined(HAVE_MYSQLND)	if ((stat = (char *)mysql_stat(mysql->mysql)))	{		RETURN_UTF8_STRING(stat, ZSTR_DUPLICATE);#else	if (mysqlnd_stat(mysql->mysql, &stat, &stat_len) == PASS)	{		RETURN_UTF8_STRINGL(stat, stat_len, ZSTR_AUTOFREE);#endif	} else {		RETURN_FALSE;	}}/* }}} */ /* {{{ proto int mysqli_stmt_attr_set(object stmt, long attr, long mode) U*/PHP_FUNCTION(mysqli_stmt_attr_set){	MY_STMT	*stmt;	zval 	*mysql_stmt;	long    mode_in;	ulong   mode;	ulong	attr;	int		rc;	if (zend_parse_method_parameters(ZEND_NUM_ARGS() TSRMLS_CC, getThis(), "Oll", &mysql_stmt, mysqli_stmt_class_entry, &attr, &mode_in) == FAILURE) {		return;	}	MYSQLI_FETCH_RESOURCE(stmt, MY_STMT *, &mysql_stmt, "mysqli_stmt", MYSQLI_STATUS_VALID);	if (mode_in < 0) {		php_error_docref(NULL TSRMLS_CC, E_WARNING, "mode should be non-negative, %ld passed", mode_in);		RETURN_FALSE;	}	mode = mode_in;	if ((rc = mysql_stmt_attr_set(stmt->stmt, attr, (void *)&mode))) {		RETURN_FALSE;	}	RETURN_TRUE;}/* }}} *//* {{{ proto int mysqli_stmt_attr_get(object stmt, long attr) U*/PHP_FUNCTION(mysqli_stmt_attr_get){	MY_STMT	*stmt;	zval 	*mysql_stmt;#if !defined(HAVE_MYSQLND) && MYSQL_VERSION_ID > 50099	my_bool value;#else	ulong	value = 0;#endif	ulong	attr;	int		rc;	if (zend_parse_method_parameters(ZEND_NUM_ARGS() TSRMLS_CC, getThis(), "Ol", &mysql_stmt, mysqli_stmt_class_entry, &attr) == FAILURE) {		return;	}	MYSQLI_FETCH_RESOURCE(stmt, MY_STMT *, &mysql_stmt, "mysqli_stmt", MYSQLI_STATUS_VALID);	if ((rc = mysql_stmt_attr_get(stmt->stmt, attr, &value))) {		RETURN_FALSE;	}	RETURN_LONG((long)value);}/* }}} *//* {{{ proto int mysqli_stmt_errno(object stmt) U*/PHP_FUNCTION(mysqli_stmt_errno){	MY_STMT	*stmt;	zval 	*mysql_stmt;	if (zend_parse_method_parameters(ZEND_NUM_ARGS() TSRMLS_CC, getThis(), "O", &mysql_stmt, mysqli_stmt_class_entry) == FAILURE) {		return;	}	MYSQLI_FETCH_RESOURCE(stmt, MY_STMT *, &mysql_stmt, "mysqli_stmt", MYSQLI_STATUS_INITIALIZED);	RETURN_LONG(mysql_stmt_errno(stmt->stmt));}/* }}} *//* {{{ proto string mysqli_stmt_error(object stmt) U*/PHP_FUNCTION(mysqli_stmt_error) {	MY_STMT	*stmt;	zval 	*mysql_stmt;	if (zend_parse_method_parameters(ZEND_NUM_ARGS() TSRMLS_CC, getThis(), "O", &mysql_stmt, mysqli_stmt_class_entry) == FAILURE) {		return;	}	MYSQLI_FETCH_RESOURCE(stmt, MY_STMT *, &mysql_stmt, "mysqli_stmt", MYSQLI_STATUS_INITIALIZED);		RETURN_UTF8_STRING((char *)mysql_stmt_error(stmt->stmt), ZSTR_DUPLICATE);}/* }}} *//* {{{ proto mixed mysqli_stmt_init(object link) U   Initialize statement object*/PHP_FUNCTION(mysqli_stmt_init){	MY_MYSQL		*mysql;	MY_STMT 		*stmt;	zval			*mysql_link;	MYSQLI_RESOURCE *mysqli_resource; 	if (zend_parse_method_parameters(ZEND_NUM_ARGS() TSRMLS_CC, getThis(), "O",&mysql_link, mysqli_link_class_entry) == FAILURE) {		return;	}	MYSQLI_FETCH_RESOURCE(mysql, MY_MYSQL *, &mysql_link, "mysqli_link", MYSQLI_STATUS_VALID);	stmt = (MY_STMT *)ecalloc(1,sizeof(MY_STMT));	if (!(stmt->stmt = mysql_stmt_init(mysql->mysql))) {		efree(stmt);		RETURN_FALSE;	}	mysqli_resource = (MYSQLI_RESOURCE *)ecalloc (1, sizeof(MYSQLI_RESOURCE));	mysqli_resource->status = MYSQLI_STATUS_INITIALIZED;	mysqli_resource->ptr = (void *)stmt;	MYSQLI_RETURN_RESOURCE(mysqli_resource, mysqli_stmt_class_entry);}/* }}} *//* {{{ proto bool mysqli_stmt_prepare(object stmt, string query) U   prepare server side statement with query*/PHP_FUNCTION(mysqli_stmt_prepare){	MY_STMT			*stmt;	zval 			*mysql_stmt;	char			*query;	int				query_len;	if (zend_parse_method_parameters(ZEND_NUM_ARGS() TSRMLS_CC, getThis(), "Os&", &mysql_stmt, mysqli_stmt_class_entry, 									 &query, &query_len, UG(utf8_conv)) == FAILURE) {		return;	}	MYSQLI_FETCH_RESOURCE(stmt, MY_STMT *, &mysql_stmt, "mysqli_stmt", MYSQLI_STATUS_INITIALIZED);	if (mysql_stmt_prepare(stmt->stmt, query, query_len)) {		MYSQLI_REPORT_STMT_ERROR(stmt->stmt);		RETURN_FALSE;	}	/* change status */	MYSQLI_SET_STATUS(&mysql_stmt, MYSQLI_STATUS_VALID);	RETURN_TRUE;}/* }}} *//* {{{ proto mixed mysqli_stmt_result_metadata(object stmt) U   return result set from statement */PHP_FUNCTION(mysqli_stmt_result_metadata){	MY_STMT		*stmt;	MYSQL_RES		*result;	zval 			*mysql_stmt;	MYSQLI_RESOURCE	*mysqli_resource;	if (zend_parse_method_parameters(ZEND_NUM_ARGS() TSRMLS_CC, getThis(), "O", &mysql_stmt, mysqli_stmt_class_entry) == FAILURE) {		return;	}	MYSQLI_FETCH_RESOURCE(stmt, MY_STMT *, &mysql_stmt, "mysqli_stmt", MYSQLI_STATUS_VALID);	if (!(result = mysql_stmt_result_metadata(stmt->stmt))){		MYSQLI_REPORT_STMT_ERROR(stmt->stmt);		RETURN_FALSE;	}	mysqli_resource = (MYSQLI_RESOURCE *)ecalloc (1, sizeof(MYSQLI_RESOURCE));	mysqli_resource->ptr = (void *)result;	mysqli_resource->status = MYSQLI_STATUS_VALID;	MYSQLI_RETURN_RESOURCE(mysqli_resource, mysqli_result_class_entry);	}/* }}} *//* {{{ proto bool mysqli_stmt_store_result(stmt) U*/PHP_FUNCTION(mysqli_stmt_store_result){	MY_STMT *stmt;	zval 	*mysql_stmt;	if (zend_parse_method_parameters(ZEND_NUM_ARGS() TSRMLS_CC, getThis(), "O", &mysql_stmt, mysqli_stmt_class_entry) == FAILURE) {		return;	}	MYSQLI_FETCH_RESOURCE(stmt,

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -