是否有可能在不循环结果的情况下(可能通过 PDO)获取找到特定数据的列名?还是在 mySQL 中有另一种方法可以做到这一点?
该示例仅显示 3 列,但对于我的表,我可能需要检查多达 30 列
如果我有一个表 table1 并且想要找到找到“x”的列
+----+------+------+------+
| id | Col1 | Col2 | Col3 |
+----+------+------+------+
| 0 | x | b | x |
| 1 | x | x | f |
| 2 | d | x | g |
| 3 | h | j | k |
+----+------+------+------+
currentyl 我运行一个 Select 然后循环到每一行并检查每一行列,如果数据是'x'
$query= "SELECT * FROM table1 WHERE (Col1='x' OR Col2='x' OR Col3='x')"
$result=mysql_query($query);
$foundCols = array();
$rowCnt = 0;
while ($row = mysql_fetch_assoc($result)) {
$tmpArr = array();
if ($row['Col1'] == 'x') {
$tmpArr[] = 'Col1';
}
if ($row['Col2'] == 'x') {
$tmpArr[] = 'Col2';
}
if ($row['Col3'] == 'x') {
$tmpArr[] = 'Col3';
}
$foundCols[$rowCnt] = $tmpArr;
$rowCnt = $rowCnt+1
}
谢谢你