Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/65.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 使用MySQL和MSSQL的CodeIgniter数据链路_Php_Mysql_Codeigniter_Multiple Databases_Data Linking - Fatal编程技术网

Php 使用MySQL和MSSQL的CodeIgniter数据链路

Php 使用MySQL和MSSQL的CodeIgniter数据链路,php,mysql,codeigniter,multiple-databases,data-linking,Php,Mysql,Codeigniter,Multiple Databases,Data Linking,我知道有几个问题与这个问题类似,但不知何故,我无法让它工作,我一直在四处寻找解决方案,但不幸的是,我找不到任何: 情况: 我在CodeIgniter框架中构建了一个web应用程序,目前它可以将记录保存到自己的MySQL数据库(DB1)中,我还需要创建另一个到另一个数据库的数据链接,该数据库是一个MSSQL,将用作我们的分类账,我们称之为DB2数据库 我已经试过了: $active_group = 'default'; $active_record = TRUE; $db['MSSQL']['ho

我知道有几个问题与这个问题类似,但不知何故,我无法让它工作,我一直在四处寻找解决方案,但不幸的是,我找不到任何:

情况: 我在CodeIgniter框架中构建了一个web应用程序,目前它可以将记录保存到自己的MySQL数据库(DB1)中,我还需要创建另一个到另一个数据库的数据链接,该数据库是一个MSSQL,将用作我们的分类账,我们称之为DB2数据库

我已经试过了:

$active_group = 'default';
$active_record = TRUE;
$db['MSSQL']['hostname'] = 'xxx.xxx.xxx.xxx\SQLEXPRESS';
$db['MSSQL']['port'] = 1433;
$db['MSSQL']['username'] = 'sa';
$db['MSSQL']['password'] = 'xxxxxxxxxxxxxx';
$db['MSSQL']['database'] = 'DB2';
$db['MSSQL']['dbdriver'] = 'mssql';
$db['MSSQL']['dbprefix'] = '';
$db['MSSQL']['pconnect'] = FALSE;
$db['MSSQL']['db_debug'] = TRUE;
$db['MSSQL']['cache_on'] = FALSE;
$db['MSSQL']['cachedir'] = '';
$db['MSSQL']['char_set'] = 'utf8';
$db['MSSQL']['dbcollat'] = 'utf8_general_ci';
$db['MSSQL']['swap_pre'] = '';
$db['MSSQL']['autoinit'] = TRUE;
$db['MSSQL']['stricton'] = FALSE;

$db['default']['hostname'] = '127.0.0.1';
$db['default']['username'] = 'root';
$db['default']['password'] = '';
$db['default']['database'] = 'DB1';
$db['default']['dbdriver'] = 'mysqli';
$db['default']['dbprefix'] = '';
$db['default']['pconnect'] = TRUE;
$db['default']['db_debug'] = TRUE;
$db['default']['cache_on'] = FALSE;
$db['default']['cachedir'] = '';
$db['default']['char_set'] = 'utf8';
$db['default']['dbcollat'] = 'utf8_general_ci';
$db['default']['swap_pre'] = '';
$db['default']['autoinit'] = TRUE;
$db['default']['stricton'] = FALSE;
我可以使用以下模型从DB1访问和获取记录:

class Transaction_model extends CI_Model{
function __construct(){
parent::__construct();}

public function get_transaction(){
$default_db = $this->load->database('default',TRUE);
$qry_res = $default_db->query("CALL sp_view_transaction()");
$res = $qry_res->result();
$qry_res->next_result();
$qry_res->free_result();
$return $res;

class Transaction extends My_Controller{
public function index(){
parent::__construct();}
public function get_transaction(){
$this->load->model('transaction_model');
$result = $this->transaction_model->get_transaction();
print_r($result);
但当我尝试为MSSQL运行存储过程时,问题开始出现: 控制器: $this->load->model('transaction_model'); $result=$this->transaction_model->MSQL_transaction(); $print\u r($result)

谁能给我建议我该怎么做?当我成功地在DB1中插入一条记录时,我需要对DB2进行更新。到目前为止,它只返回没有显示任何错误的空网页。事先非常感谢。我只是展示了select查询,因为我觉得它最容易理解,如果有人能给我一个关于如何完成它的示例,这将非常有帮助


干杯。

在服务器上安装sqlsrv驱动程序支持之前,请尝试此配置

<?php 

$active_group = 'default';
$active_record = TRUE;

$db['default']['hostname'] = 'xxxxxxxxxxxxxxxxxx\SQLEXPRESS';
$db['default']['username'] = 'sa';
$db['default']['password'] = 'xxxxxxxxxxxxxx';
$db['default']['database'] = 'database_name';
$db['default']['dbdriver'] = 'sqlsrv';
$db['default']['dbprefix'] = '';
$db['default']['pconnect'] = TRUE;
$db['default']['db_debug'] = TRUE;
$db['default']['cache_on'] = FALSE;
$db['default']['cachedir'] = '';
$db['default']['char_set'] = 'utf8';
$db['default']['dbcollat'] = 'utf8_general_ci';
$db['default']['swap_pre'] = '';
$db['default']['autoinit'] = FALSE;
$db['default']['stricton'] = FALSE;

现在sql server已与sqlsrv连接,因此请尝试此页面说明mssql在PHP5上不可用。3谢谢您的回复,我必须找到其他方法,而不是使用代码将数据推送到后面,我必须使用MySQL将数据推送到mssql。
<?php 

$active_group = 'default';
$active_record = TRUE;

$db['default']['hostname'] = 'xxxxxxxxxxxxxxxxxx\SQLEXPRESS';
$db['default']['username'] = 'sa';
$db['default']['password'] = 'xxxxxxxxxxxxxx';
$db['default']['database'] = 'database_name';
$db['default']['dbdriver'] = 'sqlsrv';
$db['default']['dbprefix'] = '';
$db['default']['pconnect'] = TRUE;
$db['default']['db_debug'] = TRUE;
$db['default']['cache_on'] = FALSE;
$db['default']['cachedir'] = '';
$db['default']['char_set'] = 'utf8';
$db['default']['dbcollat'] = 'utf8_general_ci';
$db['default']['swap_pre'] = '';
$db['default']['autoinit'] = FALSE;
$db['default']['stricton'] = FALSE;
$active_group = 'default';

$active_record = TRUE;

$db['default']['hostname'] = '1xx.xxx.xx.x6x\SQLEXPRESS';

$db['default']['username'] = 'sa';

$db['default']['password'] = 'password';

$db['default']['database'] = 'databasename';

$db['default']['dbdriver'] = 'mssql';

$db['default']['dbprefix'] = '';

$db['default']['pconnect'] = TRUE;

$db['default']['db_debug'] = TRUE;

$db['default']['cache_on'] = FALSE;

$db['default']['cachedir'] = '';

$db['default']['char_set'] = 'utf8';

$db['default']['dbcollat'] = 'utf8_general_ci';

$db['default']['swap_pre'] = '';

$db['default']['autoinit'] = TRUE;

$db['default']['stricton'] = FALSE;