2017-06-19 68 views
1

我試圖從mysql數據庫回顯單個字符串。有數據庫中的列(en,es,de,it ...)表示不同的語言,我想從當前語言($ language =「en」或$ language =「es」)中選擇一行和一列的值。 ...)。我曾嘗試:

<?php 
$result = mysqli_query($con, 'SELECT "' .$language. '" FROM page WHERE 
title="findInstructor" LIMIT 1'); 
$row = mysqli_fetch_row($result); 
print_r($row[0]); 
?> 

的問題是,我得到的$language變量,從數據庫不是一個值的屏幕值。如果我嘗試它f.e.英語語言,如果一切正常:

$result = mysqli_query($con, 'SELECT en FROM page WHERE 
title="findInstructor" LIMIT 1'); 

或者,如果我可以這樣做:

$result = mysqli_query($con, 'SELECT * FROM page WHERE 
title="findInstructor" LIMIT 1'); 
.... 
print_r($row[$language]); 

謝謝回答!

+0

這甚至意味着什麼:「獲取$語言變量的屏幕值」? – Enstage

+0

嘗試不帶任何引用 –

+0

試試這樣''SELECT'。$ language。 'FROM page WHERE title =「findInstructor」LIMIT 1'' – Bart

回答

4

因爲用雙引號將$languageSELECT視爲字符串而不是列名。試試這個:

<?php 
    $result = mysqli_query($con, 'SELECT ' .$language. ' FROM page WHERE 
     title="findInstructor" LIMIT 1'); 
    $row = mysqli_fetch_row($result); 
    print_r($row[0]); 
?> 
1

如下面的代碼所示,如​​果你把變量名放在雙引號中,它就認爲它是一個靜態值。

'SELECT "' .$language. '" FROM page WHERE 
title="findInstructor" LIMIT 1' 

所以不是這樣,你必須嘗試下面的代碼

'SELECT ' .$language. ' FROM page WHERE 
title="findInstructor" LIMIT 1' 

希望這會幫助你。

+0

This Works,thank you !!! –

相關問題