PHP mysql使用FIND IN SET搜索列值
这是我的db表“课程” 当您添加多个年龄组和国家的数据时,我想检查数据库中是否已经存在该数据 同一国家/地区+年龄组合的示例名称不能重复 如果name=“sw”用户无法再次为2岁儿童添加国家1或4或5或3 编辑 var_dump(年龄1美元);退出PHP mysql使用FIND IN SET搜索列值,php,mysql,Php,Mysql,这是我的db表“课程” 当您添加多个年龄组和国家的数据时,我想检查数据库中是否已经存在该数据 同一国家/地区+年龄组合的示例名称不能重复 如果name=“sw”用户无法再次为2岁儿童添加国家1或4或5或3 编辑 var_dump(年龄1美元);退出 这里两次使用了$where相同的变量,这里没有使用它 $where = $country." IN country AND ".$age." IN age"; $this->db->select("music_lessons","*"
这里两次使用了$where相同的变量,这里没有使用它
$where = $country." IN country AND ".$age." IN age";
$this->db->select("music_lessons","*",$where);
$res = $this->db->getResult();
返回结果行数此处使用$where同一变量两次,此处不使用它
$where = $country." IN country AND ".$age." IN age";
$this->db->select("music_lessons","*",$where);
$res = $this->db->getResult();
返回结果行数country2返回INT或CHAR(字符串)?以csv格式返回INT@GopalStoring值不是好的数据库设计请给出$country2和country columnHi中的精确值示例,这更多是帮助您解决类似问题的提示,而不是直接回答。通常,您希望设计数据库以强制执行这些限制,这意味着您应该更改数据库设计以获得最佳结果。在关系数据库中,您希望每个字段只包含原子数据,即不能分解为更小部分的数据。您应该阅读以下内容:在使用关系数据库时需要知道!$country2 return INT或CHAR(String)?以csv格式返回INT@GopalStoring值不是好的数据库设计。请给出$country2和country columnHi中的精确值示例。这更多是帮助您解决类似问题的提示,而不是直接回答。通常,您希望设计数据库以强制执行这些限制,这意味着您应该更改数据库设计以获得最佳结果。在关系数据库中,您希望每个字段只包含原子数据,即不能分解为更小部分的数据。您应该阅读以下内容:在使用关系数据库时需要知道!我发现这个查询适用于我,从
音乐课程中选择*在集合中查找('5',国家
)0和在集合中查找('2',年龄
)0和名称
=“sw”但问题是我如何处理PHP,有时我会得到国家和年龄的多个值,因此我必须将其放入foreach循环中。请注意在值集中查找并检查单个值。所以在函数中使用。从音乐课程中选择*,其中国家在(“$country”)和年龄在(“$age”);我的问题我还是解决不了。。。我已经更新了我的问题。你能检查一下下面的部分吗。。我已经输入了我尝试过的代码,并且vardump输出了一些值。我发现这个查询对我有效,从音乐课程
中选择*find_in_set('5',country
)0和find_in_set('2',age
)0和name
=“sw”但问题是我如何处理PHP,有时我会得到国家和年龄的多个值,因此我必须将其放入foreach循环中。请注意在值集中查找并检查单个值。所以在函数中使用。从音乐课程中选择*,其中国家在(“$country”)和年龄在(“$age”);我的问题我还是解决不了。。。我已经更新了我的问题。你能检查一下下面的部分吗。。我已经输入了我尝试过的代码,vardump输出了一些值
array (size=4)
0 => string '1' (length=1)
1 => string '4' (length=1)
2 => string '2' (length=1)
3 => string '3' (length=1)
$where = $country." IN country AND ".$age." IN age";
$this->db->select("music_lessons","*",$where);
$res = $this->db->getResult();