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); - } } /* }}} */ |