如何从mysql表中选择多个枚举值?

Kār*_*els 2 php mysql enums codeigniter

我有枚举字段制造商

`manufacturer` ENUM('Manufacturer1','Manufacturer2','Manufacturer3','Manufacturer4') NOT NULL 
Run Code Online (Sandbox Code Playgroud)

我有一个包含多个制造商值的数组。如何编写查询来选择具有制造商 1 或制造商 3 的每一行?

我可以这样写:

SELECT FROM table_name WHERE manufacturer=manufacturer1 OR manufacturer=manufacturer3;
Run Code Online (Sandbox Code Playgroud)

但我正在寻找较短的版本,例如:

SELECT FROM table_name WHERE manufacturer=$myArrayOfManufaturers;
Run Code Online (Sandbox Code Playgroud)

我从清单中获取了制造商的可能值,因此制造商的数量可以根据用户的选择而变化。

我的网站是使用 CodeIgniter 构建的,所以我尝试过

    $query = $this->db->get_where('products', array('manufacturer' => $data['manufacturers']));
and using forech loop
foreach ($data['manufaturers'] as $man) {
            $this->db->or_where('manufacturer'=$man)
            }
Run Code Online (Sandbox Code Playgroud)

但无法理解如何将第一个设置为何处。

tan*_*din 5

您可以使用 IN 查询,例如

SELECT FROM table_name WHERE manufacturer IN ('Manufacturer1','Manufacturer2')
Run Code Online (Sandbox Code Playgroud)