【发布时间】:2019-07-09 09:16:05
【问题描述】:
$conn_161 = "192.168.0.161"; //local serwer adress
$user_161 = "ME";
$pass_161 = "what_is_the_password?";
$connect_161 = mssql_connect($conn_161,$user_161,$pass_161);
mssql_select_db ( 'DUKENUKEN3D' , $connect_161 );
//as requested - 1st DB connection and 1st query
$q_duke = "select * from DUKE /*DB1*/";
$r_duke = mssql_query($q_wartownik,$connect_161); //result
$connect_different_db = mssql_connect($conn_161,$user_161,$pass_161);
mssql_select_db ( 'BIGMAN' , $connect_different_db );
//second db and query
$q_bigman = "select * from BIGPEOPLE /*DB2*/";
$r_bigman = mssql_query($q_bigman,$connect_different_db ); //result
错误:
警告:mssql_query() [function.mssql-query]:消息:无效的对象名称“DUKE”。
是的,我知道mssql_select_db 很旧,但我需要在这个项目中使用它。如您所见,我尝试连接到同一台服务器,但同时选择 2 个不同的数据库,并在同一个 php 页面中运行查询(以连接来自 2 个不同数据库的数据)。好像不靠谱?我什至尝试在对第二个数据库进行查询之前运行mssql_select_db,然后将其更改回第一个数据库。
我了解这是库的限制(我将从 LAST 选择的数据库运行所有查询)。
有解决办法吗?因为我得到的只是在不可见的 iframe 中创建页面,并运行具有不同数据库连接的 php 页面 - 远非好的解决方案。
【问题讨论】:
-
您需要向我们展示您正在执行的查询,因为错误与查询有关,而不是数据库的选择或数据库连接。我基于警告说使用了 mssql_query() 函数。
-
旁注: 在将变量作为函数参数传递时,没有理由引用它们。而不是:
mssql_connect("$conn_161", ...),只需执行mssql_connect($conn_161, ...etc) -
这里的错误似乎很清楚。对象
TABLE_NAME存在于您连接(查询)工作的数据库中,但它不存在于其他数据库中,因此您的查询失败。 -
我更新了答案。是的,这就是重点——我在第二个数据库中没有 TABLE_NAME(编辑后的 DUKE)——但我不控制数据库——我只需要从两个数据库中获取数据,而且我不知道 mssql_select_db 现在如何工作。
标签: php sql-server database