任何人都可以帮助我或提供有关此连接问题的建议。基本上我目前可以连接到一个数据库。问题是我查询的数据来自多个网站(全部以V1_database开头.....)。例如,我的数据库包括V1_database_newyork或V1_database_denver等。
我在Microsoft SQL Server Management Studio中创建了一个这样的查询,它从V1_database开始选择所有数据库:
SELECT name
FROM sys.databases
WHERE name NOT IN ('master', 'tempdb', 'model', 'msdb') AND name LIKE 'V1_database%'
我当前连接到我的某个数据库的代码如下(这很好用):
<?php
/*data base connection */
$serverName = ".\SQLEXPRESS";
$connectionOptions = array("Database"=>"V1_database_newyork",
"UID"=>"username",
"PWD" => "password");
/* Connect using Windows Authentication */
$conn = sqlsrv_connect($serverName, $connectionOptions);
/* Check whether connnection is established */
if($conn === false)
{
die(print_r(sqlsrv_errors(), true));
}
/* Close the connection. */
sqlsrv_close( $conn);
?>
任何人都可以帮我调整此查询,以便连接字符串允许我使用“V1_database%”查询任何数据库吗?
如果其中任何一项都不清楚,请告诉我!任何建议将不胜感激!
干杯,
尼尔
答案 0 :(得分:0)
根据PHP documentation on mssql_connect:
resource mssql_connect ([ string $servername [, string $username [, string $password [, bool $new_link ]]]] )
必须在所有查询中使用返回资源,因此请使用以下命令连接到MSSQL:
$res = mssql_connect ([ string $servername [, string $username [, string $password [, bool $new_link ]]]] )
并在所有查询中使用$res
。
mssql_query ( string $query [, resource $link_identifier [, int $batch_size = 0 ]] )
如果您需要连接到两个数据库,请使用$res1
和$res2
。
一个好的做法是使一些light类不仅存储连接资源,还存储其他内容,如上一个错误。