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

📄 mysqli_nonapi.c

📁 linux下安装不上mysql5与php5的可用此关联
💻 C
📖 第 1 页 / 共 2 页
字号:
	zval			*mysql_result;	long			mode = MYSQLND_FETCH_BOTH;	if (zend_parse_method_parameters(ZEND_NUM_ARGS() TSRMLS_CC, getThis(), "O|l", &mysql_result, mysqli_result_class_entry, &mode) == FAILURE) {		return;	}	MYSQLI_FETCH_RESOURCE(result, MYSQL_RES *, &mysql_result, "mysqli_result", MYSQLI_STATUS_VALID);	if (mode < MYSQLI_ASSOC || mode > MYSQLI_BOTH) {		php_error_docref(NULL TSRMLS_CC, E_WARNING, "The result type should be either MYSQLI_NUM, MYSQLI_ASSOC or MYSQLI_BOTH");		RETURN_FALSE;	}	mysqlnd_fetch_into(result, mode, return_value);#endif}/* }}} *//* {{{ proto mixed mysqli_fetch_assoc (object result)   Fetch a result row as an associative array */PHP_FUNCTION(mysqli_fetch_assoc) {#if !defined(HAVE_MYSQLND)	php_mysqli_fetch_into_hash(INTERNAL_FUNCTION_PARAM_PASSTHRU, MYSQLI_ASSOC, 0);#else	MYSQL_RES		*result;	zval			*mysql_result;	if (zend_parse_method_parameters(ZEND_NUM_ARGS() TSRMLS_CC, getThis(), "O", &mysql_result, mysqli_result_class_entry) == FAILURE) {		return;	}	MYSQLI_FETCH_RESOURCE(result, MYSQL_RES *, &mysql_result, "mysqli_result", MYSQLI_STATUS_VALID);	mysqlnd_fetch_into(result, MYSQLND_FETCH_ASSOC, return_value);	#endif}/* }}} *//* {{{ proto mixed mysqli_fetch_object (object result [, string class_name [, NULL|array ctor_params]])   Fetch a result row as an object */PHP_FUNCTION(mysqli_fetch_object) {	php_mysqli_fetch_into_hash(INTERNAL_FUNCTION_PARAM_PASSTHRU, MYSQLI_ASSOC, 1);	}/* }}} *//* {{{ proto bool mysqli_multi_query(object link, string query)   Binary-safe version of mysql_query() */PHP_FUNCTION(mysqli_multi_query){	MY_MYSQL		*mysql;	zval			*mysql_link;	char			*query = NULL;	unsigned int 	query_len;	if (zend_parse_method_parameters(ZEND_NUM_ARGS() TSRMLS_CC, getThis(), "Os", &mysql_link, mysqli_link_class_entry, &query, &query_len) == FAILURE) {		return;	}	MYSQLI_FETCH_RESOURCE(mysql, MY_MYSQL *, &mysql_link, "mysqli_link", MYSQLI_STATUS_VALID);	MYSQLI_ENABLE_MQ;		if (mysql_real_query(mysql->mysql, query, query_len)) {		MYSQLI_REPORT_MYSQL_ERROR(mysql->mysql);		RETURN_FALSE;	}		RETURN_TRUE;}/* }}} *//* {{{ proto mixed mysqli_query(object link, string query [,int resultmode]) */PHP_FUNCTION(mysqli_query){	MY_MYSQL			*mysql;	zval				*mysql_link;	MYSQLI_RESOURCE		*mysqli_resource;	MYSQL_RES 			*result;	char				*query = NULL;	unsigned int 		query_len;	unsigned long 		resultmode = MYSQLI_STORE_RESULT;	if (zend_parse_method_parameters(ZEND_NUM_ARGS() TSRMLS_CC, getThis(), "Os|l", &mysql_link, mysqli_link_class_entry, &query, &query_len, &resultmode) == FAILURE) {		return;	}	if (!query_len) {		php_error_docref(NULL TSRMLS_CC, E_WARNING, "Empty query");		RETURN_FALSE;	}	if (resultmode != MYSQLI_USE_RESULT && resultmode != MYSQLI_STORE_RESULT) {		php_error_docref(NULL TSRMLS_CC, E_WARNING, "Invalid value for resultmode");		RETURN_FALSE;	}	MYSQLI_FETCH_RESOURCE(mysql, MY_MYSQL*, &mysql_link, "mysqli_link", MYSQLI_STATUS_VALID);	MYSQLI_DISABLE_MQ;	if (mysql_real_query(mysql->mysql, query, query_len)) {		MYSQLI_REPORT_MYSQL_ERROR(mysql->mysql);		RETURN_FALSE;	}	if (!mysql_field_count(mysql->mysql)) {		/* no result set - not a SELECT */		if (MyG(report_mode) & MYSQLI_REPORT_INDEX) {			php_mysqli_report_index(query, mysqli_server_status(mysql->mysql) TSRMLS_CC);		}		RETURN_TRUE;	}	result = (resultmode == MYSQLI_USE_RESULT) ? mysql_use_result(mysql->mysql) : mysql_store_result(mysql->mysql);	if (!result) {		php_mysqli_throw_sql_exception((char *)mysql_sqlstate(mysql->mysql), mysql_errno(mysql->mysql) TSRMLS_CC,										"%s", mysql_error(mysql->mysql)); 		RETURN_FALSE;	}	if (MyG(report_mode) & MYSQLI_REPORT_INDEX) {		php_mysqli_report_index(query, mysqli_server_status(mysql->mysql) TSRMLS_CC);	}	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 object mysqli_get_warnings(object link) */PHP_FUNCTION(mysqli_get_warnings){	MY_MYSQL			*mysql;	zval				*mysql_link;	MYSQLI_RESOURCE		*mysqli_resource;	MYSQLI_WARNING		*w;	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 (mysql_warning_count(mysql->mysql)) {		w = php_get_warnings(mysql->mysql TSRMLS_CC); 	} else {		RETURN_FALSE;	}	mysqli_resource = (MYSQLI_RESOURCE *)ecalloc (1, sizeof(MYSQLI_RESOURCE));	mysqli_resource->ptr = mysqli_resource->info = (void *)w;	mysqli_resource->status = MYSQLI_STATUS_VALID;	MYSQLI_RETURN_RESOURCE(mysqli_resource, mysqli_warning_class_entry);	}/* }}} *//* {{{ proto object mysqli_stmt_get_warnings(object link) */PHP_FUNCTION(mysqli_stmt_get_warnings){	MY_STMT				*stmt;	zval				*stmt_link;	MYSQLI_RESOURCE		*mysqli_resource;	MYSQLI_WARNING		*w;	if (zend_parse_method_parameters(ZEND_NUM_ARGS() TSRMLS_CC, getThis(), "O", &stmt_link, mysqli_stmt_class_entry) == FAILURE) {		return;	}	MYSQLI_FETCH_RESOURCE(stmt, MY_STMT*, &stmt_link, "mysqli_stmt", 1);	if (mysqli_stmt_warning_count(stmt->stmt)) {		w = php_get_warnings(mysqli_stmt_get_connection(stmt->stmt) TSRMLS_CC); 	} else {		RETURN_FALSE;	}	mysqli_resource = (MYSQLI_RESOURCE *)ecalloc (1, sizeof(MYSQLI_RESOURCE));	mysqli_resource->ptr = mysqli_resource->info = (void *)w;	mysqli_resource->status = MYSQLI_STATUS_VALID;	MYSQLI_RETURN_RESOURCE(mysqli_resource, mysqli_warning_class_entry);	}/* }}} */#ifdef HAVE_MYSQLI_SET_CHARSET/* {{{ proto bool mysqli_set_charset(object link, string csname)   sets client character set */PHP_FUNCTION(mysqli_set_charset){	MY_MYSQL			*mysql;	zval				*mysql_link;	char				*cs_name = NULL;	unsigned int 		len;	if (zend_parse_method_parameters(ZEND_NUM_ARGS() TSRMLS_CC, getThis(), "Os", &mysql_link, mysqli_link_class_entry, &cs_name, &len) == FAILURE) {		return;	}	MYSQLI_FETCH_RESOURCE(mysql, MY_MYSQL*, &mysql_link, "mysqli_link", MYSQLI_STATUS_VALID);	if (mysql_set_character_set(mysql->mysql, cs_name)) {		RETURN_FALSE;	}	RETURN_TRUE;}/* }}} */#endif#ifdef HAVE_MYSQLI_GET_CHARSET /* {{{ proto object mysqli_get_charset(object link) U   returns a character set object */PHP_FUNCTION(mysqli_get_charset){	MY_MYSQL				*mysql;	zval					*mysql_link;	char 					*name = NULL, *collation = NULL, *dir = NULL;	uint					minlength, maxlength, number, state;#if !defined(HAVE_MYSQLND)	MY_CHARSET_INFO			cs;#else	const MYSQLND_CHARSET	*cs;#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);	object_init(return_value);#if !defined(HAVE_MYSQLND)	mysql_get_character_set_info(mysql->mysql, &cs);	name = (char *)cs.csname;	collation = (char *)cs.name;	dir = (char *)cs.dir;	minlength = cs.mbminlen;	maxlength = cs.mbmaxlen;	number = cs.number;	state = cs.state;#else	cs = mysql->mysql->charset;	name = cs->name;		collation = cs->collation;		minlength = cs->char_minlen;	maxlength = cs->char_maxlen;	number = cs->nr;	state = 1;	/* all charsets are compiled in */#endif	add_property_string(return_value, "charset", (name) ? (char *)name : "", 1);	add_property_string(return_value, "collation",(collation) ? (char *)collation : "", 1);	add_property_string(return_value, "dir", (dir) ? (char *)dir : "", 1);	add_property_long(return_value, "min_length", minlength);	add_property_long(return_value, "max_length", maxlength);	add_property_long(return_value, "number", number);	add_property_long(return_value, "state", state);}/* }}} */#endif/* * Local variables: * tab-width: 4 * c-basic-offset: 4 * End: * vim600: noet sw=4 ts=4 fdm=marker * vim<600: noet sw=4 ts=4 */

⌨️ 快捷键说明

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