[英]MySQL get the columns names from search results
如果我运行这样的东西:
SELECT * FROM my_table WHERE a = 'foo' OR b = 'foo' OR c = 'foo'
我想知道“foo”是否在 a、b、c 或“a 和 b”等列中!
MySQL 有什么办法吗?
使用您用于数据库的任何内容,您应该能够将该查询的结果放入一个数组中,它看起来像这样:
$row['a']
$row['b']
$row['c']
在此之后,您可以使用 php 的in_array function 查看 foo 所在的列。
假设您不希望将它们连接起来,这样的事情可能会给您想要的东西
SELECT IF(a = 'foo', 'Yes','No') AS Was_In_A,
IF(b = 'foo', 'Yes','No') AS Was_In_B,
IF(c = 'foo', 'Yes','No') AS Was_In_C
FROM my_table WHERE a = 'foo' OR b = 'foo' OR c = 'foo'
您始终可以在 select 结果中测试 a、b 和 c 的值,但这也许会使事情变得更容易?
SELECT (a = 'foo') as FooInA, (b = 'foo') as FooInB,
(a = 'foo') AND (b = 'foo') as FooInAandB
FROM my_table WHERE a = 'foo' OR b = 'foo' OR c = 'foo'
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.