欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

Thinkphp3.1 跨库连接数据库。

程序员文章站 2022-06-05 15:53:42
...
在配置文件里首页默认的是连接mysql 然后我在下面加了个数组:
//mssql配置
'DB_MSSQL' =>array(
//'DB_CHARSET'=>'GBK2312',
'DB_TYPE' => 'mssql',
'DB_HOST' => '152.198.11.156',
'DB_NAME' => 'TOOT',
'DB_USER' => 'sa',
'DB_PWD' => '123456',
'DB_PORT' => '1433',
'DB_PREFIX' => '',
  ),

然后在
public function index()
{
$user= M('user','TOOT');
$user->db(1,'TOOT');
$info = $user->select()->limit(10);
dump($info);
$this -> display();
}

程序出错,连接不上数据库!


回复讨论(解决方案)

参数对了没?数据库是不是远程连接?是的话是不是允许远程连接了?
先把出错信息贴出来。。。。。。。。

允许远程连接,我直接php是可以的。(错误类型:500)

怎么感觉与这个描述不一样 ThinkPHP3.1新特性 多数据库操作的完善

怎么感觉与这个描述不一样 ThinkPHP3.1新特性 多数据库操作的完善

他描述的都是两个mysql 如果是mysql我是可以连接的,现在就是mssql连接不上。

怎么感觉与这个描述不一样 ThinkPHP3.1新特性 多数据库操作的完善



按照他的描述 $User = M('User','think_','DB_CONFIG2');

我的$user= M('user',‘’,'TOOT');这样写也应该可以吧,我的mssql表没有前缀。

参数对了没?数据库是不是远程连接?是的话是不是允许远程连接了?
先把出错信息贴出来。。。。。。。。




[ 错误信息 ]
没有定义数据库配置

连接时要用 D 函数吧?
mssql 没有 DESCRIBE 指令,应该不能自动创建模型

我用M是可以同时操作两个mysql,是不是我的mssql配置有问题?
mssql 直接php是可以携程的

mysql 有 DESCRIBE 指令,可以自动创建模型,所以不会有连接问题

DESCRIBE tbl_name 指令的作用是获取字段信息,类似于

Field	Type		Null	Key	Default	Extra id	varbinary(20)	NO    money	bigint(20)	NO		0  flag	char(3)		NO    x	varchar(50)	NO 


参数对了没?数据库是不是远程连接?是的话是不是允许远程连接了?
先把出错信息贴出来。。。。。。。。




[ 错误信息 ]
没有定义数据库配置

看这错误信息,不是很明了么?数据库配置名不存在。
$user->db(1,'TOOT');这个是动态调用,这里的TOOT应该改成你配置文件里的名称DB_MSSQL



参数对了没?数据库是不是远程连接?是的话是不是允许远程连接了?
先把出错信息贴出来。。。。。。。。




[ 错误信息 ]
没有定义数据库配置

看这错误信息,不是很明了么?数据库配置名不存在。
$user->db(1,'TOOT');这个是动态调用,这里的TOOT应该改成你配置文件里的名称DB_MSSQL

就是修改成DB_MSSQL提示:没有定义数据库配置

有人连接过 mssql吗、

TP不熟悉,你断点跟踪下程序就知道怎么回事了。

还是没有解决啊。