如何从mysql数据库表中仅获取php数组的匹配项[重复]
Posted
技术标签:
【中文标题】如何从mysql数据库表中仅获取php数组的匹配项[重复]【英文标题】:How to fetch only matched items of a php array from mysql database table [duplicate] 【发布时间】:2019-01-08 07:14:36 【问题描述】:这是我在 php 中的数组:$list = array('dog', 'tiger', 'lion', 'elephant')
表名: 关注列表 数据库: assignment
比较 $list 和 watchlist 表后,它应该只打印匹配的项目。 因此,此输出将是: 狗 老虎
是否有任何 mysql 查询来获取此输出。我在mysql方面很弱。提前谢谢你。
【问题讨论】:
SELECT * FROM watchlist WHERE name IN ('dog', 'tiger', 'lion', 'elephant')
。当然你会想要绑定值和类似的东西,但这就是它的要点。
SQL 有 IN 运算符...name IN('dog', 'tiger', 'lion', 'elephant')
将给出您需要的结果.. 如果您还需要/想要强制执行您需要添加的顺序 ORDER BY FIELD(name, 'dog', 'tiger', 'lion', 'elephant')
这是 MySQL 独有的功能。
【参考方案1】:
你可以这样做:
$query = "SELECT * FROM `watchlist` WHERE `assignment` IN('".implode("','",$list)."')";
注意:确保所有外部输入都经过清理。
【讨论】:
我觉得下一个问题来了..如何清理..***旨在解决问题而不是产生新问题。以上是关于如何从mysql数据库表中仅获取php数组的匹配项[重复]的主要内容,如果未能解决你的问题,请参考以下文章
如何从 MySQL 的 DATETIME 字段中仅选择日期?