Database names with '-' must also be enclosed in [].
eg. if $databaseName = "my-database" must be selected as:
mssql_select_db('['.$databaseName.']', $connection);
mssql_select_db
Description
bool mssql_select_db ( string database_name [, resource link_identifier])Returns TRUE on success or FALSE on failure.
mssql_select_db() sets the current active database on the server that's associated with the specified link identifier. If no link identifier is specified, the last opened link is assumed. If no link is open, the function will try to establish a link as if mssql_connect() was called, and use it.
Every subsequent call to mssql_query() will be made on the active database.
In order to select a database containing a space or a hyphen ("-") you need to enclose the database name in brackets, like is shown in the example below:
See also: mssql_connect(), mssql_pconnect(), and mssql_query()
mssql_select_db
oyoboy
22-Sep-2008 10:00
22-Sep-2008 10:00
edoceo
20-Aug-2008 11:59
20-Aug-2008 11:59
Use of square brackets to enclose the database name is also necessary if the name contains a dot: '.'
e.g.
mssql_select_db('Company.ERP');
Produces the error:
Warning: mssql_select_db(): Sybase: Server message: Could not locate entry in sysdatabases for database 'Company'. No entry found with that name. Make sure that the name is entered correctly. (severity 16, procedure N/A) in
mssql_select_db('[Company.ERP]');
Will select successfully
ifintel
10-Feb-2008 07:15
10-Feb-2008 07:15
mssql_select_db() seems to truncate the databasename at the length of 30 characters. In my example the following error occured:
mssql_select_db("VeryLongDatabaseNameWhichIsReallyLong", $this->dbConn);
Warning: mssql_select_db(): message: Could not locate entry in sysdatabases for database 'VeryLongDatabaseNameWhichIsRea'. No entry found with that na
me. Make sure that the name is entered correctly. (severity 16) in...
A shorter databasename solved this issue.
