我想从Codeigniter 3.1.9中名为“ dbo.Events”的MSSQL表中获取数据
已建立与数据库的连接,但查询失败。
$query = $this->db->get('dbo.Events');
return $query->result_array();
结果如下:
发生数据库错误 错误编号:HY000 / 1 没有这样的表:dbo.Events
SELECT * FROM“ dbo”。“事件”
文件名:C:/xampp/htdocs/ci3/system/database/DB_driver.php
行号:691
该表存在并且名称正确。 查询看起来如何,或者我必须如何转义“。”在表名中?
编辑:
$db['lardis_mssql'] = array(
'dsn' => '',
'hostname' => '192.168.120.xxx',
'username' => 'username',
'password' => 'passowrd',
'database' => 'LardisLog',
'dbdriver' => 'sqlsrv',
'dbprefix' => 'dbo.',
'pconnect' => FALSE,
'db_debug' => (ENVIRONMENT !== 'production'),
'cache_on' => FALSE,
'cachedir' => '',
'char_set' => 'utf8',
'dbcollat' => 'utf8_general_ci',
'swap_pre' => '',
'encrypt' => FALSE,
'compress' => FALSE,
'stricton' => FALSE,
'failover' => array(),
'save_queries' => TRUE
);
答案 0 :(得分:0)
也许我忘记写了,MSSQL是我要连接的第二个数据库。
在此页面的支持下多次检查配置后: https://www.macamateri.com/2017/05/cara-koneksi-database-sql-server-mssql-di-codeigniter.html
解决方案非常简单: 我没有连接到正确的数据库。
public function __construct()
{
$this->mssql_db = $this->load->database('lardis_mssql', TRUE);
}
public function get_tetra_log()
{
$get_where_array = array(
"RadioID" => "******-*****-*****-****-**********"
);
$query = $this->mssql_db->get_where('Events', $get_where_array);
return $query->result_array();
}