我决定结束与Doctrine 2.3的合作,现在我想只使用CodeIgniter连接数据库你知道我的代码有什么问题吗?
我收到此错误:
A PHP Error was encountered
Severity: Notice
Message: Undefined property: Hello::$db
Filename: core/Model.php
Line Number: 51
database.php中
$db['default']['hostname'] = 'localhost:8080';
$db['default']['username'] = 'root';
$db['default']['password'] = '';
$db['default']['database'] = 'ci_doctrine';
$db['default']['dbdriver'] = 'mysql';
控制器
<?php
// system/application/controllers/hello.php
class Hello extends CI_Controller {
public function __construct()
{
parent::__construct();
}
function world() {
echo "Hello CodeIgniter!";
}
function user_test() {
$this->load->model('user');
$this->user->save_User('username','password','first_name','last_name');
}
}
?>
模型 - 数据库“user”中的表名
<?php
// system/application/models/user.php
class User extends CI_Model {
function __construct()
{
// Call the Model constructor
parent::__construct();
}
function save_User($username,$password,$fName,$lName) {
$this->username = $username;
$this->password = $password;
$this->first_name = $fName;
$this->last_name = $lName;
$this->db->insert('user', $this);
}
}
?>
答案 0 :(得分:4)
您需要加载数据库库:
config / autoload.php
$autoload['libraries'] = array('database');
答案 1 :(得分:3)
答案 2 :(得分:1)
手动连接
在控制器文件中使用它
$this->load->database();
用于数据库中的自动连接
转到Controller然后在autoload.php中进行以下更改
$autoload['libraries'] = array('database');
答案 3 :(得分:0)
您需要加载数据库库:
<强>配置/ autoload.php 强>
$autoload['libraries'] = array('database');
试试吧。