Php 如何从我的数据库中选择一个值并与其他值匹配

Php 如何从我的数据库中选择一个值并与其他值匹配,php,html,codeigniter,Php,Html,Codeigniter,我使用codeigniter并像123234一样存储数据 我的表名是schedule和column name batch 请看下面的图片 我尝试选择一个值并与发送的值匹配。如何匹配这两个值数据库中列batch的值为“123321”,变量$batch为123,它们不相等,因此您无法选择它。 您必须发送与数据库中数据相同的数据 试一试 数据库中列batch的值为“123321”,变量$batch为123,它们不相等,因此无法选择它。 您必须发送与数据库中数据相同的数据 试一试 试试这个 $batch

我使用codeigniter并像123234一样存储数据

我的表名是schedule和column name batch

请看下面的图片


我尝试选择一个值并与发送的值匹配。如何匹配这两个值

数据库中列batch的值为“123321”,变量$batch为123,它们不相等,因此您无法选择它。 您必须发送与数据库中数据相同的数据

试一试


数据库中列batch的值为“123321”,变量$batch为123,它们不相等,因此无法选择它。 您必须发送与数据库中数据相同的数据

试一试

试试这个

$batch = "123,321";
$lot =1; 

    $dataTest = $this->db->query("select q_set from schedule where lot=".$lot." 
    and batch='".$batch."')->row();
或使用

$batch = "123";
$lot =1; 
$dataTest = $this->db->query("select q_set from schedule where lot=".$lot." 
and batch like '%".$batch."')->row();
试试这个

$batch = "123,321";
$lot =1; 

    $dataTest = $this->db->query("select q_set from schedule where lot=".$lot." 
    and batch='".$batch."')->row();
或使用

$batch = "123";
$lot =1; 
$dataTest = $this->db->query("select q_set from schedule where lot=".$lot." 
and batch like '%".$batch."')->row();

使用查询生成器。请注意,如果批处理是一个字符串,那么它应该是$batch=123234加上整数不能有逗号

$this->db->select('q_set');
$this->db->where('lot', $lot);
$this->db->where('batch', $batch);
$q = $this->db->get('schedule');
if ($q->num_rows() > 0}
    print_r($q->row());
} else {
    echo 'no rows';
}

使用查询生成器。请注意,如果批处理是一个字符串,那么它应该是$batch=123234加上整数不能有逗号

$this->db->select('q_set');
$this->db->where('lot', $lot);
$this->db->where('batch', $batch);
$q = $this->db->get('schedule');
if ($q->num_rows() > 0}
    print_r($q->row());
} else {
    echo 'no rows';
}

您也可以使用find_in_set。但它主要用于查找逗号分隔的值

$this->db->select('q_set');
$this->db->from("schedule");
$this->db->where("FIND_IN_SET('$lot', lot)");
$this->db->where("FIND_IN_SET('$batch', batch)");
-------或--------

你可以试试这个

  $this->db->select('q_set');
   $this->db->from('schedule as S1');
   $this->db->where('S1.lot',$lot);
   $this->db->where('S1.batch',$batch);
   $query = $this->db->get();
   return $query->row();

您也可以使用find_in_set。但它主要用于查找逗号分隔的值

$this->db->select('q_set');
$this->db->from("schedule");
$this->db->where("FIND_IN_SET('$lot', lot)");
$this->db->where("FIND_IN_SET('$batch', batch)");
-------或--------

你可以试试这个

  $this->db->select('q_set');
   $this->db->from('schedule as S1');
   $this->db->where('S1.lot',$lot);
   $this->db->where('S1.batch',$batch);
   $query = $this->db->get();
   return $query->row();

您可以在运算符中使用

$result = $this->db->select('*')->from($table);
$result = $this->db->where('lot =',$lot);
$result = $this->db->where_in('batch',$batch);
$result = $this->db->order_by('id','desc');
$result = $this->db->get();

where_in运算符检查该值是否存在于可在运算符中使用的指定列中

$result = $this->db->select('*')->from($table);
$result = $this->db->where('lot =',$lot);
$result = $this->db->where_in('batch',$batch);
$result = $this->db->order_by('id','desc');
$result = $this->db->get();

where_in运算符检查指定列中是否存在该值,batch='$batch',如果$batch与代码中的$batch类似,则您将找不到任何内容,因为batch在您的DB中的值为123321。那么这些答案对您有帮助吗?如果代码中的$batch类似于123,那么您将找不到任何内容,因为在您的数据库中batch的值为123321。那么这些答案对您有帮助吗?我需要实际的数据,而不是像第一个那样,似乎批处理是一个字符串,像这样无论如何都不会起作用,我认为%应该在“和”之内end@kerbholz真的:我需要实际数据,而不是像第一个那样,似乎批处理是一个字符串,像无论如何都不会工作,我认为%应该在“和”的内部end@kerbholz真:当我插入隐秘。这次在批处理中插入多个数据。批处理的数据类型是什么?字符串还是整数?如果是整数,则需要使用$batch 123321来选择行。当我插入SECULUDE时。这次在批处理中插入多个数据。批处理的数据类型是什么?字符串还是整数?如果是整数,则需要使用$batch 123321来选择行。