我试图从一个表中获取所有数据,我有两个特定的列(宽度和高度)+其他数据,我还需要使用我在应用程序中拥有的数据数组对它们进行过滤。我的内部数组如下所示,但有多个条目:
$presetSize = Array (
[0] => Array
(
[width] => 336
[height] => 280
)
[1] => Array
(
[width] => 300
[height] => 250
)
.
.
.
)
我要做的是从数据库中获取所有数据,其中宽度和高度在数组中找不到,在我的例子中,这些数据表示自定义大小。
在mysql“where not in using two columns”中,使用两个列,我可以了解如何在从另一个表提取数据时使用select表单来实现这一点,但是这里有一个数组,其中的数组在尝试时会发送错误。
我试过:
SELECT * FROM items WHERE type = 1 AND (width, height) NOT IN (" . $presetSize . ");
它又回来了
mysql错误:“where子句”中的未知列“array”
希望这个问题足够清楚。
2条答案
按热度按时间taor4pac1#
您可以在查询中插入一个变量并希望它能工作。您需要手动生成宽度-高度对:
这将生成以下(特定于mysql的)查询:
sql小提琴
zy1mlcev2#
这里有一个解决方案,您可以使用foreach width和height,然后在查询中使用它们: