insert数据库失败,这是为什么呢?(已修改,但仍有错误)
本帖最后由 acergelff 于 2009-6-8 17:30 编辑今天刚刚接触到CI
纯纯粹粹的菜鸟啊
自己照着教程做了个写入数据库的函数,然后在系统自带的welcome.php控制器中调用
然后就错了,提示
A PHP Error was encounteredSeverity: Notice
Message:Undefined property: Welcome::$Payment
Filename: controllers/welcome.php
Line Number: 24
Fatal error:Call to a member function add_pay_log() on a non-object in D:\AppServ\www\payment\system\application\controllers\welcome.php on line 24
迷惑了,这究竟是为什么呢?以前做的都是流程式的开发,对MVC架构很是不理解.....
这应该如何解决呢?错在哪儿了?:dizzy:
application\models\payment.php
本帖最后由 acergelff 于 2009-6-8 17:30 编辑class Payment extends Model{
function Payment(){
parent::Model();
}
function add_pay_log(){
$now = date("Y-m-d H:i:s");
$topuplog= array(
'user_name' => $this->input->xss_clean($this->input->post('user_name')),
'topup_time' =>$now,
'price' =>$this->input->xss_clean($this->input->post('price')),
'status' =>'1'
);
$this->db->insert('pay_topup_log', $topuplog);
}
}
welcome.php
class Welcome extends Controller {
function Welcome()
{
parent::Controller();
}
function index()
{
$this->load->helper('form');
$data['title'] = "用户中心";
$data['headline'] = "欢迎您的光临!";
$data['include'] = 'home';
$this->load->vars($data);
$this->load->view('template');
}
function Payment(){
$this->output->enable_profiler(TRUE);
$this->load->helper('url');
$this->load->model('payment',' ',TRUE);
$this->;Payment->add_pay_log();
redirect('welcome/thankyou','refresh');
}
}
提交的表单如下
echo form_open('welcome/Payment');
echo form_label('用户名','name');
$ndata = array('name' => 'user_name', 'id' => 'id', 'size' => '25');
echo form_input($ndata);
echo form_label('金额','email');
$edata = array('name' => 'price', 'id' => 'email', 'size' => '25');
echo form_input($edata);
echo form_submit('submit','充值');
echo form_close(); 从错误上来说是模型没有装载进来。
这个错了吧?
function MContacts(){
parent::Model();
}
应该是
function Payment(){
parent::Model();
} 改了,但还是错误,估计不是这个原因,
有人说是没有连接数据库
我在构造函数中添加了
$this->load->database();
还是没有用 我觉得是$this->load->model('payment',' ',TRUE);这个地方有问题,你不设置别名看看.
就用$this->load->model('payment'),然后在构造中加载数据库连接.
页:
[1]