1
是否可以在沒有循環結果(可能是PDO)的情況下獲取特定數據的列名?還是有另一種方式在mySQL中做到這一點?獲取在MySQL中找到數據的列名稱
的例子只顯示3列,但對於我的表我最多可以有30列必須檢查
,如果我有一個表,表1,想找到列(S)其中「x」是發現
+----+------+------+------+
| id | Col1 | Col2 | Col3 |
+----+------+------+------+
| 0 | x | b | x |
| 1 | x | x | f |
| 2 | d | x | g |
| 3 | h | j | k |
+----+------+------+------+
currentyl我運行一個選擇,然後循環到各行,檢查各行的列數據是否是「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
}
謝謝
感謝佩塔提克瓦,很好的解決方案,如果是管理的..雖然這仍然將循環每個列 – Aries
@Aries不管什麼解決方案(如內部PHP(C)的功能,或MySQL調用),你會發現它會有一個循環。 – Petah
當然循環可能無法避免,但使用foreach表中的所有列也將檢查其他字段,如「ID」,如果我確實有額外的列,其中X無效,我仍然會檢查其值。 – Aries