diff options
| author | Georg Richter <georg@php.net> | 2002-07-21 21:36:10 +0000 | 
|---|---|---|
| committer | Georg Richter <georg@php.net> | 2002-07-21 21:36:10 +0000 | 
| commit | cbcdae700244aa8048890844a7649d4408484f96 (patch) | |
| tree | d3d5cf90a7f6dbddb179f8fae9a69ae0014115b5 /ext/mysql/php_mysql.c | |
| parent | 96276bf8a088686a146f73cbe52bda7b5df6c4b0 (diff) | |
| download | php-git-cbcdae700244aa8048890844a7649d4408484f96.tar.gz | |
removed changes for mysql_select_db (optional parameter)
Why:
1) Its not the common way to add additionally functionality for functions or
features which are already implemented in SQL. Therefore also a lot of
mysql functions are marked as deprecated (and will be removed in near future)
2) The implemented workaround works only when mysql_select_db was called
before (fetching the databasename from mysql->conn.db). It returns invalid
or inconsistent results e.g.:
- when "USE databasename" via mysql_query was used
- when database was dropped or grant privileges had changed.
In conjunction with persistent connection, there are also some inconsistencies,
cause mysql_select_db returns the databasename from an old connection.
To determine the database name just use the SQL command "SELECT DATABASE()"
Diffstat (limited to 'ext/mysql/php_mysql.c')
| -rw-r--r-- | ext/mysql/php_mysql.c | 26 | 
1 files changed, 3 insertions, 23 deletions
diff --git a/ext/mysql/php_mysql.c b/ext/mysql/php_mysql.c index cf81a63cf3..debead873b 100644 --- a/ext/mysql/php_mysql.c +++ b/ext/mysql/php_mysql.c @@ -833,14 +833,13 @@ PHP_FUNCTION(mysql_close)  }  /* }}} */ -/* {{{ proto bool mysql_select_db(string database_name [, int link_identifier [, bool return_prev_dbname]]) +/* {{{ proto bool mysql_select_db(string database_name [, int link_identifier])     Selects a MySQL database */  PHP_FUNCTION(mysql_select_db)  { -	zval **db, **mysql_link, **ret_prevdb; -	int id, ret_dbname=0; +	zval **db, **mysql_link; +	int id;  	php_mysql_conn *mysql; -	char *prev_db=NULL;  	switch(ZEND_NUM_ARGS()) {  		case 1: @@ -856,14 +855,6 @@ PHP_FUNCTION(mysql_select_db)  			}  			id = -1;  			break; -		case 3: -			if (zend_get_parameters_ex(3, &db, &mysql_link, &ret_prevdb)==FAILURE) { -				RETURN_FALSE; -			} -			id = -1; -			convert_to_long_ex(ret_prevdb); -			ret_dbname = Z_LVAL_PP(ret_prevdb); -			break;  		default:  			WRONG_PARAM_COUNT;  			break; @@ -873,22 +864,11 @@ PHP_FUNCTION(mysql_select_db)  	convert_to_string_ex(db); -	/* Get the previous database name */ -	if (ret_dbname && mysql->conn.db) { -		prev_db=estrdup(mysql->conn.db); -	} -	  	if (mysql_select_db(&mysql->conn, Z_STRVAL_PP(db))!=0) {  		RETVAL_FALSE; -	} else if (prev_db) { -		RETVAL_STRING(prev_db, 1);  	} else {  		RETVAL_TRUE;  	} - -	if (prev_db) { -		efree(prev_db); -	}  }  /* }}} */  | 
