数据从前端发送,如下所示:
var data = {
'user_id':userid,
'qid':array[qnum].qid,
'user_ans':userAnswers[qnum].answer,
'user_time':userTime,
'exerciseid':exid,
'point_scored':points
};
$.post('<?PHP echo base_url()?>main/update_user_score',
{ myData : data },
function(result){} );
在我的“主”控制器中,我有:
$post_data = $_POST['myData'];
$data = array(
'user_id' => $post_data[user_id] ,
'qid' => $post_data[qid],
'user_ans' => $post_data[user_ans],
'user_time' => $post_data[user_time],
'exerciseid' => $post_data[exerciseid],
'point_scored' => $post_data[point_scored]
);
$this->load->model('Question_model','questions');
$this->questions->update_user_attempt($data);
在我的Question_model / update_user_attempt中:
error_log("data in model BEFORE INSERT:" . json_encode($data));
$this->db->insert('user_attempt', $data);
error_log("data in model AFTER INSERT: ");
问题是,数据达到(至少在我看来)模型很好.这是日志条目:
[23-Apr-2012 16:04:47] data in model BEFORE INSERT:{"user_id":"5","qid":"3","user_ans":"d","user_time":"3","exerciseid":"cr1","point_scored":"35"}
但是没有“插入后”日志条目.插入本身不会发生,插入后的日志条目也不会发生.
我可以从数据库中读得很好.所以我在PHPmyadmin中检查了“config / database.PHP”中用户的用户权限,并且该用户拥有所有权限,包括INSERT.
所以有两个问题:
>问题是什么?我犯了什么错误?
>我如何开始查找insert语句的内容? (我在日志中找不到任何东西.)
>我正在查看xampp / apache / logs / error.log和xampp / PHP / logs / PHP_error_log.我应该看一些其他日志吗?
解决方法:
尝试将$this-> db-> _error_message(); db插入后
像这样 …
error_log("data in model BEFORE INSERT:" . json_encode($data));
$this->db->insert('user_attempt', $data);
echo $this->db->_error_message();
error_log("data in model AFTER INSERT: ");