I have noted that mssql_select_db fails if the database name contains a dash or hyphen. for example a database named foo-bar will fail and the error that is returned indicates that the name was interpreted as only 'foo'
(PHP 4, PHP 5, PECL odbtp >= 1.1.1)
mssql_select_db — Seleciona um banco de dados do MS SQL
$database_name
[, resource $link_identifier
] ) : bool
Retorna TRUE
em caso de sucesso ou FALSE
em caso de falha.
mssql_select_db() estabelece o banco de dados ativo para a conexão especificada por link_identifier. Se nenhum identificador de conexão for especificado, a ultima conexão aberta é usada. Se nenhuma conexão estiver aberta a função tentará estabelecer uma como se mssql_connect() fosse chamada, e irá usa-la.
Todas as próximas chamadas a mssql_query() serão feitas no banco de dados ativo.
Para poder selecionar um banco de dados contendo um espaço ou hifen ("-") você precisa colocar o nome do banco de dados entre colchetes("[]"), como mostrado no exemplo abaixo:
Exemplo #1 Exemplo mssql_select_db()
<?php
$conn = mssql_connect('MYSQLSERVER', 'sa', 'password');
mssql_select_db('[my data-base]', $conn);
?>
Veja também: mssql_connect(), mssql_pconnect(), e mssql_query()
I have noted that mssql_select_db fails if the database name contains a dash or hyphen. for example a database named foo-bar will fail and the error that is returned indicates that the name was interpreted as only 'foo'
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