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

search for in the

MySQL> <mssql_rows_affected
[edit] Last updated: Fri, 10 Feb 2012

view this page in

mssql_select_db

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

mssql_select_dbSélectionne la base de données MS SQL

Description

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

mssql_select_db() sélectionne la base de données active.

Tous les appels à mssql_query() seront faits dans cette base.

Liste de paramètres

database_name

Le nom de la base de données.

Pour protéger le nom de la base de données qui contient des espaces, des tirets ("-") ou tous autres caractères spéciaux, le nom de la base de données doit être entouré de crochets ([]), comme montré dans l'exemple ci-dessous. Cette technique peut également être appliquée lors de la sélection d'un nom de base de données qui est aussi un mot réservé (comme primary).

link_identifier

Un identifiant de lien MS SQL, retourné par la fonction mssql_connect() ou mssql_pconnect().

Si aucun identifiant de lien n'est spécifié, le dernier lien ouvert sera utilisé. Si aucun lien n'est ouvert, la fonction tentera d'établir un lien en utilisant la fonction mssql_connect() et l'utilisera.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec mssql_select_db()

<?php
// Crée une connexion à MSSQL
$link mssql_connect('KALLESPC\SQLEXPRESS''sa''phpfi');

// Selectionne la base 'php'
mssql_select_db('php'$link)
?>

Exemple #2 Echappement du nom de la base de données avec des crochets

<?php
// Création d'un lien vers MSSQL
$link mssql_connect('KALLESPC\SQLEXPRESS''sa''phpfi');

// Selectionne la base de données 'my.database-name'
mssql_select_db('[my.database-name]'$link);
?>

Voir aussi



MySQL> <mssql_rows_affected
[edit] Last updated: Fri, 10 Feb 2012
 
add a note add a note User Contributed Notes mssql_select_db
jack at downeastinternet dot com 28-Oct-2010 12:37
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'
Ben Ward 06-Sep-2010 04:17
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.
oyoboy 22-Sep-2008 10:00
Database names with '-' must also be enclosed in [].

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

    mssql_select_db('['.$databaseName.']', $connection);
edoceo 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
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 | stats | sitemap | contact | advertising | mirror sites