Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/284.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/66.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Codeigniter查询未插入_Php_Mysql_Codeigniter_Codeigniter 2 - Fatal编程技术网

Php Codeigniter查询未插入

Php Codeigniter查询未插入,php,mysql,codeigniter,codeigniter-2,Php,Mysql,Codeigniter,Codeigniter 2,数据从前端发送,如下所示: var data = { 'user_id':userid, 'qid':array[qnum].qid, 'user_ans':userAnswers[qnum].answer, 'user_time':userTime, 'exerciseid':exid, 'point_s

数据从前端发送,如下所示:

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){} );
在我的问题\u模型/更新\u用户\u尝试中:

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\u error\u log。我应该看看其他的日志吗
  • 我想的第一件事是:你不应该用json_解码代替json_编码吗

  • 您是否设置了
    错误报告(E_ALL)


  • 尝试放置$this->db->_error_message();数据库插入后

    像这样

    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: ");
    

    不要忘记在insert语句之后使用
    $this->db->last\u query()
    ,查看insert语句的外观。将该insert语句复制并粘贴到sql客户机中,以查看查询是否真正独立工作。

    尝试添加

    ini_set("display_errors", "1");
    
    在插入之前

    var_dump($data); die(); 
    

    看清楚你经过的是什么。然后检查是否正确形成了镶块状态。

    您是否遗漏了这一点

    $post_data['user_id']
    

    相反,您使用的是不带引号的

    这句话在哪里回响?因为这是一个ajax调用,所以我无法在屏幕上看到数据。我可以将它发送到某个日志文件吗?使用firebug或类似的插件来查看ajax调用的响应。它将准确地显示脚本输出的内容。这是一个愚蠢的错误。发现它失败,出现外键错误。我不知道如何检查Ajax响应。现在我知道了。非常感谢你!在我向模型中添加错误报告(E_ALL)之后,就在插入之前,我仍然没有看到任何更改/新的日志条目。我正在查看xampp/apache/logs/error.log和xampp/php/logs/php\u error\u log。我应该找别的地方吗?打印一个空字符串。这是否意味着查询没有形成?我最初放了引号,并删除了它们,因为我非常沮丧,我会尝试任何东西。后来意识到查询没有通过外键约束。我之前不知道如何检查。现在我知道了!很抱歉给您添麻烦,非常感谢!
    $post_data['user_id']