Dynamically creating OR conditions by passing an array to a query in MySQL PHP(通过将数组传递给 MySQL PHP 中的查询来动态创建 OR 条件)
问题描述
我正在尝试使用数组动态创建 OR 条件.给定一个数组,当然名称 $courses = array('Eng, 'Deu', 'Bio', 'Chemi')
我想要一个 SQL 查询,它使用数组中的值带有 OR 条件的 AND 子句,例如:
I am trying to create OR condition dynamically using an array. Given an array, of course names $courses = array('Eng, 'Deu', 'Bio', 'Chemi')
I want to have a SQL query that uses the values of the array in its AND clause with OR conditions like:
SELECT *
FROM classe
/* The OR conditions should be created in AND clause using array */
WHERE class = 'EFG' AND (course = 'Eng' OR course = 'Deu' OR course = 'Bio')
我试图在 PHP MySQL 中做到这一点.
I trying to do it in PHP MySQL.
任何帮助将不胜感激.
提前致谢.
推荐答案
不用那么多 OR
子句,你可以简单地使用 IN(..)
:
Instead of so many OR
clauses, you can simply use IN(..)
:
SELECT *
FROM classe
WHERE class = 'EFG' AND course IN ('Eng' ,'Deu', 'Bio')
在 PHP 代码中,可以使用 implode()
函数将数组转换为逗号分隔的字符串,并在查询字符串生成中使用.
In the PHP code, you can use implode()
function to convert the array into a comma separated string, and use it in the query string generation.
这篇关于通过将数组传递给 MySQL PHP 中的查询来动态创建 OR 条件的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:通过将数组传递给 MySQL PHP 中的查询来动态创建 OR 条件
基础教程推荐
- 在 PHP 中强制下载文件 - 在 Joomla 框架内 2022-01-01
- mysqli_insert_id 是否有可能在高流量应用程序中返回 2021-01-01
- 如何在 PHP 中的请求之间持久化对象 2022-01-01
- 超薄框架REST服务两次获得输出 2022-01-01
- 在多维数组中查找最大值 2021-01-01
- XAMPP 服务器不加载 CSS 文件 2022-01-01
- 通过 PHP SoapClient 请求发送原始 XML 2021-01-01
- Libpuzzle 索引数百万张图片? 2022-01-01
- WooCommerce 中选定产品类别的自定义产品价格后缀 2021-01-01
- 在 Woocommerce 中根据运输方式和付款方式添加费用 2021-01-01