downloads | documentation | faq | getting help | mailing lists | licenses | wiki | reporting bugs | php.net sites | conferences | my php.net

search for in the

MySQL> <mssql_rows_affected
[edit] Last updated: Fri, 24 May 2013

view this page in

mssql_select_db

(PHP 4, PHP 5, PECL odbtp >= 1.1.1)

mssql_select_dbMS SQL データベースを選択する

説明

bool mssql_select_db ( string $database_name [, resource $link_identifier ] )

mssql_select_db() は、指定したリンク ID が指すサーバーの 現在アクティブなデータベースを設定します。

以降の mssql_query() のコールは アクティブなデータベースに対して行われます。

パラメータ

database_name

The database name.

スペースやハイフン("-")、あるいはその他の例外文字を含むデータベース名を エスケープするには、下の例で示すようにデータベース名をブラケットで囲む 必要があります。この手法は、データベースの名前に予約語(たとえば primary)が含まれている場合にも同様に使用する必要があります。

link_identifier

mssql_connect() あるいは mssql_pconnect() が返す MS SQL リンク ID。

リンク ID が指定されない場合、最後にオープンされたリンクが仮定されます。 リンクがオープンされない場合、関数は mssql_connect() がコールされた場合と同様に リンクを確立し、これを使用しようとします。

返り値

成功した場合に TRUE を、失敗した場合に FALSE を返します。

例1 mssql_select_db() の例

<?php
// MSSQL へのリンクを作成します
$link mssql_connect('KALLESPC\SQLEXPRESS''sa''phpfi');

// データベース 'php' を選択します
mssql_select_db('php'$link);
?>

例2 角括弧によるデータベース名のエスケープ

<?php
// MSSQL へのリンクを作成します
$link mssql_connect('KALLESPC\SQLEXPRESS''sa''phpfi');

// データベース 'my.database-name' を選択します
mssql_select_db('[my.database-name]'$link);
?>

参考



MySQL> <mssql_rows_affected
[edit] Last updated: Fri, 24 May 2013
 
add a note add a note User Contributed Notes mssql_select_db - [5 notes]
up
0
jack at downeastinternet dot com
2 years ago
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'
up
0
Ben Ward
2 years ago
A way around this if you cannot avoid a long DB name is to create a new db and add views.

eg a database called [abcdefghijklmnopqrstuvwxyzABCDEFG] has a table in it called tblHelloWorld.
To reference this you create a database called [alphabet] and create a view with the following query,

SELECT *
FROM [abcdefghijklmnopqrstuvwxyzABCDEFG].dbo.tblHelloWorld

save this view as tblHelloWorld

not sure if this will work on inserts but it does on select queries.
up
0
oyoboy
4 years ago
Database names with '-' must also be enclosed in [].

eg. if $databaseName = "my-database" must be selected as:

    mssql_select_db('['.$databaseName.']', $connection);
up
0
edoceo
4 years ago
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
up
0
ifintel
5 years ago
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.

 
show source | credits | sitemap | contact | advertising | mirror sites