Php 查找查找数据所在的列

Php 查找查找数据所在的列,php,mysql,sql,Php,Mysql,Sql,我有这样一个sql查询 SELECT * FROM table WHERE :value IN(col1, col2, col3) 在表中的三列中找到我的php变量的值。 我如何知道从col1、col2和col3中找到值的位置? 或者有没有其他方法可以得到相同的结果?添加一个案例语句: SELECT *, CASE WHEN col1 = :value THEN 'COL1' WHEN col2 = :value THEN 'COL2' ELS

我有这样一个sql查询

SELECT * FROM table WHERE :value IN(col1, col2, col3)
在表中的三列中找到我的php变量的值。 我如何知道从col1、col2和col3中找到值的位置?
或者有没有其他方法可以得到相同的结果?

添加一个
案例
语句:

SELECT *,
     CASE WHEN col1 = :value THEN 'COL1'
          WHEN col2 = :value THEN 'COL2'
          ELSE 'COL3'
     END AS EXIST_IN
FROM table 
WHERE :value IN (col1, col2, col3)

执行查询后返回行时,它还返回列名。包含搜索值的列将有值,其他列将显示NULL


因此,要检查它,您可以使用服务器端编程来检查返回行中的列名,也可以使用SQL中的if-else或cases。

这种问题可能是设计不佳的症状,这只是部分正确。一些方法,如
mysqli\u fetch\u row
仅返回枚举行,但像
mysqli\u fetch\u assoc
这样的方法将作为关联数组返回