Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/276.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/2/unit-testing/4.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 mysql使用FIND IN SET搜索列值_Php_Mysql - Fatal编程技术网

PHP mysql使用FIND IN SET搜索列值

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","*"

这是我的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);
$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();