gpt4 book ai didi

php - 获取在 MySQL 中找到数据的列名

转载 作者:行者123 更新时间:2023-11-29 04:25:32 25 4
gpt4 key购买 nike

是否有可能在不循环遍历结果的情况下获取找到特定数据的列名,也许是通过 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
}

谢谢

最佳答案

试试这个:

while ($row = mysql_fetch_assoc($result)) {
...
foreach (array('Col1', 'Col2', 'Col3') as $key) {
if ($row[$key] == 'x') {
$tmpArr[] = $key;
}
}
...
}

关于php - 获取在 MySQL 中找到数据的列名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12506568/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com