gpt4 book ai didi

php - Codeigniter 事件记录语法错误

转载 作者:行者123 更新时间:2023-11-29 06:36:02 26 4
gpt4 key购买 nike

我有这样的挑战表、级别表和类(class)表的数据库:

  • 级别表:

|编号 |类(class)编号 | Level_nbr

  • 挑战表:

|编号 |等级编号 |挑战_nbr |

class course_model extends CI_Model{

function get_level_id($course_id,$level_nbr)
{
$this->db->select('ID');
$this->db->where('Course_ID',$course_id);
$this->db->where('Level_nbr',$level_nbr);
$query = $this->db->get('Level');
return $query->row();
}

function get_challenge_id($course_id,$level_nbr,$challenge_nbr)
{
$level_id=$this->get_level_id($course_id,$level_nbr);
$this->db->select('ID');
$this->db->where('Level_ID',$level_id);
$this->db->where('Challenge_nbr',$challenge_nbr);
$query = $this->db->get('Challenge');
return $query->row();
}

function get_challenge($course_id,$level_nbr,$challenge_nbr)
{
$challenge_id=$this->get_challenge_id($course_id,$level_nbr,$challenge_nbr);
$this->db->select('Title,Text,Points,Init_Code');
$this->db->where('ID',$challenge_id);
$query = $this->db->get(`Challenge`);
return $query->row();
}

}

当我像这样在controller中调用函数时

$query = $this->course_model->get_challenge(1,$level,$challenge)

我遇到了这个错误:您的 SQL 语法有误;查看与您的 MySQL 服务器版本对应的手册,了解在第 4 行的“AND Challenge_nbr = '2''附近使用的正确语法

最佳答案

您使用 $query->row() 得到的是一个对象,因此您需要返回该对象的 ID 属性。

function get_level_id($course_id,$level_nbr)
{
$this->db->select('ID');
$this->db->where('Course_ID',$course_id);
$this->db->where('Level_nbr',$level_nbr);
$query = $this->db->get('Level');
return $query->row()->ID;
}

function get_challenge_id($course_id,$level_nbr,$challenge_nbr)
{
$level_id=$this->get_level_id($course_id,$level_nbr);
$this->db->select('ID');
$this->db->where('Level_ID',$level_id);
$this->db->where('Challenge_nbr',$challenge_nbr);
$query = $this->db->get('Challenge');
return $query->row()->ID;
}

function get_challenge($course_id,$level_nbr,$challenge_nbr)
{
$challenge_id = $this->get_challenge_id($course_id,$level_nbr,$challenge_nbr);
$this->db->select('Title,Text,Points,Init_Code');
$this->db->where('ID',$challenge_id);
$query = $this->db->get('Challenge');
return $query->row(); // this will return you an object too
}

关于php - Codeigniter 事件记录语法错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24706582/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com