MYSQL不在数组中

Dav*_*vid -2 php mysql

需要一些MYSQL调用的帮助.在我的一个表中,我有一个id(格式)的数组格式,如:13,32,51,131,57等.

每个id都用逗号分隔.将它们放入并取出它我已经想出了使用爆炸和内爆,但是我如何从使用php的SQL调用中直接搜索它们?

例如:我需要查看id#13是否在该行中.

$this_id = '13';
$sql="SELECT * FROM table WHERE this_id NOT IN ($this_id)";
Run Code Online (Sandbox Code Playgroud)

所以基本上,我需要查看一个带有NOT IN的数组,看看id号是否在该数组中.有任何想法吗?

mar*_*ton 7

只要逗号分隔列表中的条目不超过64个,就可以使用MySQL FIND_IN_SET()函数.

SELECT * FROM table WHERE FIND_IN_SET( this_id, '$this_id' ) = 0
Run Code Online (Sandbox Code Playgroud)

我不清楚逗号分隔的数组是您的输入数据还是存储在表中 - 因此您可能需要交换参数.

(我应该指出,使用可能受污染的输入构造查询字符串会使您暴露于SQL注入攻击.)