我正在使用CodeIgniter。在我的表中,其中一个字段包含值1,2或1或2.现在我想检查模型中的条件。列名称是上面提到的值的句点。
模型
if($post_period == 1)
{
$this->db->where('period',1);
}
else if($post_period == 2)
{
$this->db->where('period',2);
}
答案 0 :(得分:3)
使用Mysql函数FIND_IN_SET(str,strlist)。
如果字符串str位于由N个子字符串组成的字符串列表strlist中,则返回1到N范围内的值。
字符串列表是由以“,”
个字符分隔的子字符串组成的字符串。
如果第一个参数是常量字符串而第二个参数是SET类型的列,则FIND_IN_SET()
函数被优化为使用位算术。
如果str不在strlist中,或者strlist是空字符串,则返回0。如果任一参数为NULL,则返回NULL。
如果第一个参数包含逗号(“,”)字符,则此函数无法正常工作。
$this->db->where("FIND_IN_SET( '$post_period' , period) ");