不知不覺,用PHP+MYSQL做網(wǎng)站已經(jīng)10年了,然而,在過去10年里有個(gè)非常非常簡(jiǎn)單的問題一直都沒有得到解決,那就是寫一個(gè)函數(shù),通過調(diào)用這個(gè)函數(shù)可以取任意數(shù)據(jù)庫中的任意字段值。說出來真的是丟人,一個(gè)做PHP+MYSQL的老手,居然一直沒能解決這么一個(gè)小問題,可能是因?yàn)槟X殼轉(zhuǎn)得不夠快吧。不羅嗦了,先把代碼貼出來吧。
function Get_DB_Value($t_table,$t_index,$t_row)//表名,ID,字段名稱 //取指定表中指定ID指定字段的值
{
$Temp_value = "";
$t_mystr = "select " . $t_row . " as yiq_value from " . $t_table . " where id=" . $t_index;
$t_myexe = mysql_query($t_mystr);
$t_All_Count = mysql_num_rows($t_myexe);
if($t_All_Count > 0)
{
$t_myrr = mysql_fetch_object($t_myexe);
$Temp_value = $t_myrr->yiq_value;
}
return($Temp_value);
}
只要稍微懂寫PHP+MYSQL的程序員一看上面的代碼就會(huì)明白,實(shí)現(xiàn)起來非常簡(jiǎn)單,請(qǐng)注意橙色代碼部分,正是因?yàn)檫@個(gè)as yiq_value起到了關(guān)鍵的作用。
之前為什么一直沒有解決這個(gè)問題,是一直糾結(jié)于把字段名稱儲(chǔ)存到某個(gè)變量中,然而這樣的測(cè)試總是使程序出錯(cuò)。如果通過as將未知的變量名賦值到一個(gè)想定的sql返回值中,完美解決根據(jù)變量讀取MYSQL數(shù)據(jù)庫字段值的問題。
寫這篇文章實(shí)際上是在自嘲,一個(gè)簡(jiǎn)單的問題直到今天才解決,望各位同行朋友切勿噴哈。