Mar*_*ten 5 php sql xampp codeigniter
我已经安装了Xampp并安装了CodeIgniter.我想从CodeIgniter连接到SQL数据库.
我更改了数据库配置文件并将dbdriver设置为sqlsrv.
$active_group = 'default';
$active_record = TRUE;
$db['default']['hostname'] = 'IP Adress;
$db['default']['username'] = 'DBUserName';
$db['default']['password'] = 'DBPassword';
$db['default']['database'] = 'DBName';
$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'] = TRUE;
$db['default']['stricton'] = FALSE;
Run Code Online (Sandbox Code Playgroud)
在我的控制器中,我有以下代码来尝试连接:
$this->load->database();
$db_obj = $this->db->load('sql_Test',TRUE);
$connected = $db_obj->initialize();
if (!$connected){
$db_obj = $this->d->load('yyy',TRUE);
}
else{
die('connected');
}
Run Code Online (Sandbox Code Playgroud)
我有以下错误:
致命错误:在第76行的C:\ xampp\htdocs\system\database\drivers\sqlsrv\sqlsrv_driver.php中调用未定义的函数sqlsrv_connect()
我在论坛上看到我必须从sqlsrv_driver.php更改第89行:
function db_pconnect()
{
// $this->db_connect(TRUE); original
return $this->db_connect(TRUE);
}
Run Code Online (Sandbox Code Playgroud)
我错了什么?
sun*_*nny 11
编辑 - 首先你需要下载驱动程序 http://msdn.microsoft.com/en-us/sqlserver/ff657782.aspx
现在转到您的XAMPP安装并搜索php.dll它将显示您正确的PHP DLL.
1)将以下文件移动到xampp/php/ext目录.
php_sqlsrv_53_nts_vc9.dll
php_pdo_sqlsrv_53_nts_vc9.dll
Run Code Online (Sandbox Code Playgroud)
2)如果你有php5ts.dll然后将以下文件移动到xampp/php/ext目录.
php_sqlsrv_53_ts_vc9.dll
php_pdo_sqlsrv_53_ts_vc9.dll
Run Code Online (Sandbox Code Playgroud)
如果您的PHP版本是使用Visual C++ 9.0编译的,则应使用上述文件.否则应使用以下文件.
1)如果你有php.dll然后将以下文件移动到xampp/php/ext目录.
php_sqlsrv_53_nts_vc6.dll
php_pdo_sqlsrv_53_nts_vc6.dll
Run Code Online (Sandbox Code Playgroud)
2)如果你有php5ts.dll然后将以下文件移动到xampp/php/ext目录.
php_sqlsrv_53_ts_vc6.dll
php_pdo_sqlsrv_53_ts_vc6.dll
Run Code Online (Sandbox Code Playgroud)
现在我们必须加载最近添加的文件.打开php ini文件并在动态扩展区域中添加条目,如下所示.
extension=php_sqlsrv_53_nts_vc9.dll
extension= php_pdo_sqlsrv_53_nts_vc9 .dll
Run Code Online (Sandbox Code Playgroud)
保存ini文件并重新启动XAMPP
$check= @$CI->load->database($config, TRUE); // ommit the error
if ($check->call_function('error') !== 0) {
// Failed to connect
}
Run Code Online (Sandbox Code Playgroud)
我不确定你要做什么但是在codeigniter你不需要初始化数据库,CI自动为你做
所以-
$this->load->database();
$db_obj = $this->db->load('SQL_Test',TRUE);
$connected = $db_obj->initialize();
Run Code Online (Sandbox Code Playgroud)
这不是必需的.
您只需加载模型并在模型开始执行查询.$这 - >负载>数据库(); 在控制器中,您需要加载模型,如 -
$this->load->model('my_model');
Run Code Online (Sandbox Code Playgroud)
然后调用您编写查询的模型函数.
$this->my_model->myfunction();
Run Code Online (Sandbox Code Playgroud)