我有一个例程,我打算像这样做一个mssql和mysql服务器连接:
$mysql_aoi_conn = DoMySQLConnect( 'AOI' );
$mssql_aoi_conn = DoMsSQLConnect( 'itf' );
功能如下:
function DoMySQLConnect( $pdb_name ){
$mysql_conn = mysql_connect('localhost', '####', '####') or die( 'could not connect to localhost server : ' . mysql_error() );
$mysqldb_conn = mysql_select_db( $pdb_name, $mysql_conn ) or die('could not use database ' . $pdb_name . ' : ' . mysql_error() );
return array("database" => $mysqldb_conn, "connection" => $mysql_conn );
};
function DoMsSQLConnect( $pdb_name ){
$mssql_conn = mssql_connect("128.251.xxx.xxx", '###', '###') or die("failed to connect to server USLONSAPP003");
$mssqldb_conn = mssql_select_db( $pdb_name, $mssql_conn) or die("failed to select database " . $pdb_name);
return array("database" => $mssqldb_conn, "connection" => $mssql_conn );
};
我正在尝试使用mssql_query和mysql_query中的连接实现来告诉我的查询使用哪个连接,但是我收到了错误。这是我的一个疑问:
$login_res = mssql_query("SELECT *
FROM ITF_USER
WHERE ITF_LOGIN = '" . $lcUserName . "'", $mssql_aoi_conn['connection'] )
or die("failed to query ITF_USER: \n" . mssql_get_last_message() );
这死于mssql_get_last_message():
Changed database context to 'itf'.
这不是一个真正的错误。如果我使用此查询选项错误,有人可以告诉我吗?
答案 0 :(得分:0)
经过一些研究后,似乎mssql_query()不支持link_identifier选项,因此会中断(尽管没有有效的调试错误)。删除mssql_query的链接标识符并将其保存在我的文档中以用于任何mysql_query()允许我在整个脚本中使用mssql_query()和mysql_query()命令。
答案 1 :(得分:0)
即使你已经解决了问题,我也面临着类似的错误"更改了数据库环境"在PHP中使用mssql_exec()函数时。似乎通过设置来修复:
sqlsrv_configure ( "WarningsReturnAsErrors" , 0 ); //OFF
sqlsrv_configure ( "LogSeverity" , 1 ); //SQLSRV_LOG_SEVERITY_ERROR
在此之前,我正在使用[数据库]。[dbo]。[TABLE]以防止收到大量有关此类错误/警告的报告。