我的理解是,你想從一個表,其中該列的值等於一個變量調用列名?如果是這樣的......
我能想到的最簡單的方法來解決,這將是一個這樣的通過你看基於列和返回值的值的所有表的搜索。此功能應該有助於完成此任務:
function columnToVariable($conn, $table, $variable){//SET PARAMETERS (CONNECTION STRING, TABLE NAME, VARIABLE SEARCH)
$sql = "SHOW COLUMNS FROM ".mysqli_real_escape_string($conn, $table).";"; // SQL STATEMENT
$result = $conn->query($sql); // RESULTS OF ALL ROWS
$field = array(); // ARRAY WITH COLUMNS
if($result->num_rows > 0){ // CHECK IF RESULTS FOUND
while($row = $result->fetch_assoc()){ // SET RESULTS TO ARRAY
array_push($field, $row['Field']); // APPEND ARRAY WITH FIELD NAME
}
}
foreach($field as $return){ // ITERATE THROUGH FIELD NAMES
$sql = "SELECT * FROM ".mysqli_real_escape_string($conn, $table)." WHERE ".mysqli_real_escape_string($conn, $return)." = '".mysqli_real_escape_string($conn, $variable)."';"; // SQL STRING
$result = $conn->query($sql); // QUERY RESULTS
if($result->num_rows > 0){ // IF FOUND, RETURN VALUE
return $return; // RETURN VALUE
}
}
}
沒有人再使用mysql_ *函數。嘗試mysqli_ *函數或PDO來代替 – e4c5
@ e4c5校正,沒有誰喜歡小貓使用'mysql_ *'了,因爲每次使用mysql_ *'小貓被殺害 –
的值是數組中的'。我相信你可以弄清楚如何讀取數組的值。 – Shadow